403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_mmap.cpython-315.opt-2.pyc
R
>lqj��c���]QHGs]QHGsGsGsGsGsGsG	s	G
s
]QH,Gs]QH4GsGs]QH@Gs]PHHs]PHLs]PHPs]PHTs]PHXs]PH\s]PH`s]PHds]PHhs]PHls]PHps\Q2s\O<sQ\O>2Q0s QQ	ks!\%c\ODQ
2gQQ\OF2s$Q
Q\OF2s%\&Q6Xc\ON2P!P!)�)�support)�requires�_2G�_4G�
gc_collect�cpython_only�
is_emscripten�is_apple�!in_systemd_nspawn_sync_suppressed)�
import_module)�TESTFN�unlink)�assert_python_ok�mmap�python_�
_test_mmapc��PO[O[OUQ52o[
QU0!)�)�k�_)�join�random�choices�string�ascii_uppercase�tagname_prefix)�length�suffixs& �#C:\Python315\\Lib\test\test_mmap.py�random_tagnamers3��
�W�W�V�^�^�F�$:�$:�f�E�
F�F��
�Q�v�h�'�'�z.incompatible with Emscripten's mmap emulation.c��`�\sQs]%snQsQsQs\O\	\
OQ2Q2Q2sQs\
OQQF2Q	2sQ
sQsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Qs#\O\	\
Q2Q2Q 2s$Q!s%Q"s&Q#s'\O\(ORQ$6HQ%2Q&2s*\+\O\(ORQ$6HQ%2Q'22s,\O\(ORQ$6HQ%2Q(2s-\O\(ORQ$6HQ%2Q)2s.Q*s/Q+s0Q,s1Q-s2\O\	\
OQ2Q2Q.2s3Q/s4Q0s5Q1s6\O\	\
OQ22Q32Q42s7\O\	\
OQ2Q2Q52s8\O\(ORQ66HQ72\O\	\
OQ2Q2Q822s9\O\	\
OQ2Q2Q92s:\O\(ORQ$6HQ%2Q:2s;\O\(ORQ$6HQ%2Q;2s<Q<s=\O\(ORQ$6HQ%2\O\	\
OQ=2Q>2Q?22s>Q@s?\O\@O�QA6HQB2\
O�]]]2\O�\
O�2QC2QD222sEQEsFUsGP!)G�	MmapTestsc��[OO[2%c[O[2P!P!�N)�os�path�existsrr
��selfs&r�setUp�MmapTests.setUp's&��
�7�7�>�>�&�!�!��I�I�f��"r c�b�[O[2P![cP!h9hr$)r%r
r�OSErrorr(s&r�tearDown�MmapTests.tearDown+s%��	��I�I�f����	��	�s��	.�.�.c��[[Q2oUOQ[*2UOQ2UOQ[]*
*2UO	2[
OUO
2][*2oUOUO2UO2[[U22oUOUOQ2[2UO[U2][*2UOU]*]2UOUQ*Q2UO[UO [U22UO[UO"[U2Q2]3U]$QU[]*[]*]*#UOU]*]32UOUQ*Q2UOU[]*
[]*Q2UO	2[$O&QU2oUeUO)Q	2LNUO+]2vqVVe*
oUOU[2UOU[]*2UO-UO/22UOUO1]]2]2UOUO32]2UOUO1]*]2]*2UOUO32]*2UOUO1]]2[U22UOUO32[U22UO[4UO0P2UO[4UO0]]2UO[4UO0[U2']*
]2P!SO2h9h)
�bw+��foo�r�Ns�bars3sfoobars	[A-Za-z]+zregex match on mmap failed!)�openr�write�PAGESIZE�flushr�fileno�
addCleanup�close�str�type�assertEqual�find�len�assertRaises�
IndexError�__getitem__�__setitem__�re�search�fail�span�
assertTrue�seekable�seek�tell�
ValueError)r)�f�m�tp�match�start�endrs&       r�
test_basic�MmapTests.test_basic1s��
�����		�
�G�G�E�8�O�$�
�G�G�F�O�
�G�G�E�H�Q�J�'�)�
�G�G�I��	�	�!�(�(�*�a�(�l�3�A��O�O�A�G�G�$�
�G�G�I���a��\�����������2�����Q���8��,�����1��q�!�����3���+�	
���*�a�m�m�S��V�<����*�a�m�m�S��V�U�C���!��(.��(�A�+�x��{�1�}�%�	
����1��w�'�����3���*�����8�A�:��1��5�}�E�	���	��	�	�,��*���=��I�I�3�4����A��J�E��[�F����U�H�-����S�(�Q�,�/�	
����
�
��%��������1��q�)��������1�%��������A���+��������2�&��������1��s�1�v�.��������3�q�6�*�	
���*�a�f�f�b�1�	
���*�a�f�f�a��3�	
���*�a�f�f�s�1�v�g�a�i��;��m
�G�G�I�s�B*P1�1Q�resizezrequires mmap.resizec��[[Q29^tt^2oUOQ[*2UO	2[
OUO
2][*2oUOUO2PPP2WOQ2UO[U2Q2UO[UOQ]2[[Q29^tt^2oUO]]2UOUO2Q2PPP2UOUO!2Q2P!)%fhK�9h)%fhKE9h)r1���rbs)r7rr8r9r:rr;r<r=rXr@rBrCrOrMrN�size�r)rPrQs&  r�test_resize�MmapTests.test_resizews����&�%�
 �
 �A�
�G�G�H�x�'�(�
�G�G�I��	�	�!�(�(�*�a�(�l�3�A��O�O�A�G�G�$�!�	
����
�����Q���%����*�a�f�f�c�1�5��&�$�
�
�1�
�F�F�1�a�L����Q�V�V�X�s�+� �	
�������3�'�%!�
 �� �
�s$�A7E�?3E/�E,	�%E,	�/E?	�8E?	c��]
o[[Q29^tt^2oUOQU*2PPP2[[Q29^tt^2o[OUO	2U[O
Q5oUO
UQ*QU*Q2QU*UQ$UOQ2QU]$UOQ2UO]]2UOQ	2UOQ2UO]]2UOQ
2UOQ2[UQ2%c?UO[29^tt^2UO]U*2PPP2[[Q29^tt^2oUO
UO2QU*Q2PPP2PPP2[[Q
29^tt^2o[OUO	2U]*2o[O O#Q2%fUOQ2UO%2[O O#Q2%c3[[Q
29^tt^2oUO)U2PPP2PPP2[[Q
29^tt^2o[OUO	2U[O*Q5oQU*UQ$UO
UQ*QU*Q2UO-2UO%2PPP2[[Q29^tt^2oUO2oPPP2UO
WQU*Q2[[Q
29^tt^2o[OUO	2U[O.Q5oQ
U*UQ$UO
UQ*Q
U*Q2UO-2[[Q29^tt^2oUO
UO2QU*Q2PPP2[UQ2%c)UO[UO]U*2UO%2PPP2[[Q
29^tt^2oUO[&[OUO	2U]Q5PPP2[0O2Q6XCcE[[Q
29^tt^2oUO[&[OUO	2U[O4[O6[O*Q5PPP2[O6[9[Q]2*o[[Q
29^tt^2o[OUO	2VQ5oUO[UOQ2UO[UO]2UO%2PPP2P!P!)%fhCKn9h[cCK�h9h[cCK�h9h[cCK�h9h[cCK�h9h)%fhCKm9h)%fhCK89h)%fhCKD9h[&c;[O O#Q2%cSOQ2CKh9h)%fhCK�9h)%fhCK�9h)%fhCK<9h)%fhCK9h)%fhCKF9h)%fhCK9h)%fhCK�9h)%fhCK@9h[:cCK�h9h)%fhP!9h)�
�wb�ar\��access�NNNz#Readonly memory map data incorrect.�bz$Able to write to readonly memory map�abc�drXz*Readonly memory map data file was modified�r+b�winz1Opening mmap with size+1 should raise ValueError.z0Opening mmap with size+1 should work on Windows.�cz5Write-through memory map memory not updated properly.z8Write-through memory map data file not updated properly.z4Copy-on-write memory map data not written correctly.z4Copy-on-write test data file should not be modified.�posix)�flags�protrf�	PROT_EXEC�rpsabcdef)r7rr8rr;�ACCESS_READr@rI�	TypeErrorrM�
write_byte�hasattrrCrX�read�sys�platform�
startswithr=rO�truncate�ACCESS_WRITEr:�ACCESS_COPYr%�name�MAP_PRIVATE�	PROT_READ�getattr�PermissionError)r)�mapsize�fprPrQ�stuffrps&      r�test_access_parameter�MmapTests.test_access_parameter�s�����
�&�$�
�
�2��H�H�T�'�\�"� �
�&�$�
�
�1��	�	�!�(�(�*�g�d�6F�6F�	�G�A����Q�q�T�4��<�1V�W�
B��G�|��!���	�	�@�A�
B���!���	�	�@�A�
B����q�!��������	�	�@�A�
B����q�!�����T�"��	�	�@�A��q�(�#�#��&�&�y�1�1��H�H�Q��[�)�2��f�d�#�#�r�� � �����D��L�!M�O�$�U �^�&�%�
 �
 �A�

��I�I�a�h�h�j�'�!�)�4���|�|�.�.�u�5�5��I�I�Q�R����	��|�|�&�&�u�-�-��&�%�(�(�A��J�J�w�'�)�#!�*�&�%�
 �
 �A��	�	�!�(�(�*�g�d�6G�6G�	�H�A���<�A�a�D����Q�q�T�4��<�J�
L�
�G�G�I�
�G�G�I�!��&�$�
�
�1��F�F�H�E� ������W��I�	K��&�%�
 �
 �A��	�	�!�(�(�*�g�d�6F�6F�	�G�A���<�A�a�D����Q�q�T�4�'�>�S�
U�
�G�G�I��f�d�#�#�r�� � �����D��L�!W�Y�$��q�(�#�#��!�!�)�Q�X�X�q�7�{�C�
�G�G�I�!� �&�%�
 �
 �A����j�$�)�)�Q�X�X�Z��QR��S�!��7�7�g���f�e�$�$���!�!�*�d�i�i�����W�(,�(8�(8�'+�~�~�d�>O�>O�"�Q�%��>�>�G�D�+�q�$A�A�D��f�e�$�$����	�	�!�(�(�*�g�	�A�A�
�%�%�i����)�D��%�%�i����q�A��G�G�I�%�$��O �
�
���
��
���
��
���
��
���
��
��2�1�1��#�#�#��U �
�
��d�
R�
�<�<�*�*�5�1�1��I�I�P�Q��

R��)�(�(��#!�
 �
 ��*!�
 �
 �� �
�
��$�#�#��!�
 �
 �� !�
 �
 ��
%�$�$��'�����%�$�$�s9�Z�A\�,Z.�8\�
[�\�!#[�\�#[$�9"\�\�9[6	� \�2)\
	�\�^�+\2�0$^�A^�^�3]:	�^�-B^"�^6�B
_�$)_
	�
_�'8_�?7_2�,A#`�`,�%`�<A`,�Z+	�#Z+	�.	Z=�8Z=�9\�<Z=�=\�	[�
[�\�[�\�	[!�[!�\� [!�!\�$	[3�.[3�/\�2[3�3\�6\
�?\
�	\�
\
�\
�	\�\/	�'\/	�2	]7�<%]7�"]7�3^�6]7�7^�:^
�^
�	^�^	�^	�"^3	�+^3	�6_	�?_	�
_
�_
�	_�_/	�'_/	�2`	�;`	�`	�`	�	`)�$`)�%`,�(`)�)`,�,`=	�5`=	�close_original_fdc�.�]@o[[Q29^tt^2oUOQU*2PPP2[[Q29^tt^2o[OUO	2UP
Q59^tt^2oU%cUO2UO
[U2U2UO[29^tt^2UO2PPP2[UQ2%c}UO[29^tt^2UOU]*2PPP2UO[29^tt^2UOU]*2PPP2UOUOP
2UO[!Q22[!Q2U]$UO#2[[Q29^tt^2oUO
UO%]2Q	2PPP2UO
UO'2]2UO)]2UO
UO'2]2UO
UO+2[!Q22[,O.Q
6Xc?U%f7UO[0[,O2[[Q*2LL[,O2[[Q*2[,O2[Q*[2PPP2PPP2UOWOP	2UO
[,O4[2O6U2P!)%fhCKa9h)%fhCK�9h)%fhCK�9h)%fhCK^9h)%fhCK�9h)%fhK�9h)%fhK�9h)�@rcrdrk��trackfdrX�X�Yr\sXaYa�nt�1)r7rr8rr;r=r@rBrCrOr]rvrX�assertIs�closedru�ordr:rwrNrM�	read_byter%r~r��rename�stat�st_size)r)r�r]rPrQs&&   r�test_trackfd_parameter� MmapTests.test_trackfd_parameters~����
�&�$�
�
�1�
�G�G�D��I�� �
�&�%�
 �
 �A����1�8�8�:�t�U��;�;�q�$��G�G�I�� � ��Q���.��&�&�z�2�2��F�F�H�3��1�h�'�'��*�*�:�6�6�������*�7��*�*�:�6�6�������+�7��
�
�a�h�h��.����S��X�&��3�x��!�����	��&�$�'�'�1��$�$�Q�V�V�A�Y��8�(�� � �����1�-����q�	�� � �����1�-�� � ������C��9��7�7�d�?�+<��%�%�o�r�y�y�&�&�QT�*�U��I�I�f�f�S�j�1��I�I�f�S�j�&�1�9<�!�>	
�
�
�a�h�h��%���������0�0�$�7�E �
�
��3�2�2��7�6�6��6�6�6��(�'�'��#<�;��!�
 �s��N
�/P�O1	�
AO1	�N!
�&O1	�O1	�N5
�6%O1	�O	
�4A4O1	�("O
�
BO1	�!O1	�)BO1	�+P�
N	�N	�!N2�*N2�,	O1	�5O�>O�	O1	�	O�O�	O1	�O.�&O.�(	O1	�1P
�:P
�<P�P	�
P	c	�0�]@o[OPUP
Q59^tt^2oUO[29^tt^2UO2PPP2[	UQ2%c?UO[29^tt^2UOU]*2PPP2UO
[U2U2[Q2U]$PPP2P!)%fhK�9h)%fhKV9h)%fhP!9h)r�r�rX�a)	rrCrOr]rvrXr@rBr�)r)r]rQs&  r�test_trackfd_neg1�MmapTests.test_trackfd_neg13s�����
�Y�Y�r�4��Y�
/�
/�1��"�"�:�.�.�����/��q�(�#�#��&�&�z�2�2��H�H�T�Q�Y�'�3����S��V�T�*��s�8�A�a�D�0�
/�.�.��3�2��	0�
/�
/�sS�D�C	�D�-D�
C1	�#1D�C.
�'C.
�)D�1D
�:D
�<D�D	�
D	c�T�UO[[OQQ2P!)�����)rCr-rr(s&r�test_bad_file_desc�MmapTests.test_bad_file_desc?s�����'�4�9�9�b�$�7r c
�T�[[Q29^tt^2oQo[U2oUOU2UO	2[
OUO
2U2oPPP2[W]*2FDyo[VS]*2FD_oWVVoUOWOU2UOU22UOUOUQ*2P2Ja	J{	WO2P!)%fhK�9h)�wb+saabaacdeefaa�x)r7rrBr8r:rr;�ranger@rAr=)r)rP�data�nrQrT�finish�slices&       r�test_tougher_find�MmapTests.test_tougher_findCs����&�%�
 �
 �A�2�D��D�	�A�
�G�G�D�M�
�G�G�I��	�	�!�(�(�*�a�(�A�
!��1�Q�3�Z�E����s�+���U�,��� � �������	�	�%�0@�A�� � �������!5�r�:�,� �
	
���	�!�
 �s�AD�D'	� D'	c
��[[Q29^tt^2oQo[U2oUOU2UO	2[
OUO
2U2oPPP2UOWOQ2]2UOUOQ2]2UOUOQ]P2]2UOUOQ]2]2UOUOQ]P2]2UOUOQ]Q2P2UOUO[Q22]2UOUOQW]*2P2UOUOQU]*2P2[U']*
U]*2FDfo[U']*
U]*2FDCoQFD9oWOVuU2oUOUOVuU2V�VV12J;	JE	Jh	P!)%fhCK�9h)r��one two ones�one�onesr r�)�osonstwor��s)r7rrBr8r:rr;r@rA�	bytearray�rfindr�)	r)rPr�r�rQ�i�j�p�expecteds	&        r�
test_find_end�MmapTests.test_find_endUs���
�&�%�
 �
 �A�"�D��D�	�A�
�G�G�D�M�
�G�G�I��	�	�!�(�(�*�a�(�A�!�	
���������+���������!�,���������2�.��2���������*�A�.���������2�.��2���������2�.��3�������	�&� 1�2�A�6��������Q��U�+�R�0��������a�!�e�,�b�1���r�!�t�Q�q�S�!�A��A�2�a�4��1��%��=�A�#�y�y��q�1�H��$�$�Q�V�V�A�!�_�h�A�	�J�>�&�"�#!�
 �
 �s�AI�I	�I	c�^�[O[O*o[Oo]o[Oo[]Q2FD�o[OPV&]**VQ59^tt^2o[OPV&Q**VQ59^tt^2oUOQQ2PPP2PPP2J�	P![
co[OQ2SgPo=hh9h)%fhKH9h)%fhJ�9h)rzmmap flags unavailablei)rorpisfor�)
rr�
MAP_ANONYMOUSr9r��AttributeError�unittest�SkipTestr�rA)	r)ror9�	PROT_NONEr��er��guard�fms	&        r�'test_find_does_not_access_beyond_buffer�1MmapTests.test_find_does_not_access_beyond_bufferns���	E��$�$�t�'9�'9�9�E��}�}�H��I����I��q�$��A����2�x�q�5�1�!&��8�8�;@��Y�Y�r�8�4�x�#8�%*��<�<�?A��G�G�E�2�&�<�8�8� ���	E��#�#�$<�=�1�D��	E��
<�<��8�8�8�sN�AC�.D	�5D
�D	�	D�(D�)D�D�D�D�D	�D,
�$D,
c��[[Q29^tt^2oQo[U2oUOU2UO	2[
OUO
2U2oPPP2UOWOQ2]2UOUOQ2]2UOUOQ]P2]2UOUOQ]Q2]2UOUOQ]P2]2UOUOQ]Q2P2UOUO[Q22]2P!)%fhCK9h)r�r�r�sone r�)
r7rrBr8r:rr;r@r�r�)r)rPr�r�rQs&    r�
test_rfind�MmapTests.test_rfind~s��
�&�%�
 �
 �A�"�D��D�	�A�
�G�G�D�M�
�G�G�I��	�	�!�(�(�*�a�(�A�!�	
��������!�,��������)�1�-���������B�/��3���������B�/��3���������B�/��3���������B�/��4��������6�!2�3�Q�7�!�
 �
 �s�AE/�/F	�8F	c��[[Q29^tt^2oUOQQ*2PPP2[[Q29^tt^2o[OUO	2Q[O
Q5oUO
2UO
2PPP2P!)%fhK�9h)%fhP!9h)r�rdr\re�)r7rr8rr;rsr=�r)rP�mfs&  r�test_double_close�MmapTests.test_double_close�s���
�&�%�
 �
 �A�
�G�G�E�D�L�!�!��&�$�
�
�1����1�8�8�:�u�T�5E�5E��F�B��H�H�J��H�H�J� �
�!�
 �� �
�
�s$�B2�AC�2C	�;C	�C	�C	c	�"�[[Q29^tt^2oUOQQ*2PPP2[[Q29^tt^2o[OUO	2]29^tt^2oUO[
U2QQ2UOUOQ2QQ*2PPP2PPP2P!)%fhK�9h)%fhK-9h)%fhP!9h)r��mzrb+z Map size should equal file size.r�)r7rr8rr;r@rBrwr�s&  r�test_entire_file�MmapTests.test_entire_file�s���
�&�%�
 �
 �A�
�G�G�E�D�L�!�!��&�%�
 �
 �A�
�Y�Y�q�x�x�z�1�
%�
%�����S��W�e�-O�P����R�W�W�U�^�U�T�\�:�&�!�
 �!�
 ��&�
%��!�
 �
 �sB�C�-C=�AC*	�C=�C'	� C'	�*C:
�3C:
�5C=�=D	�D	c	��[[Q29^tt^2oUOQQ*2PPP2[[Q29^tt^2o[OUO	2]Q[O
Q59^tt^2oUO
[UOQ2PPP2PPP2P!)%fhK�9h)%fhK-9h)%fhP!9h)rcr�r�r\��offsetrfi�8i)	r7rr8rr;rsrCrDrEr�s&  r�test_length_0_offset�MmapTests.test_length_0_offset�s���
�&�$�
�
�1�
�G�G�Y�$�&�'� ��&�$�
�
�1����1�8�8�:�q��t�?O�?O��P�P�TV��!�!�*�b�n�n�e�D�Q� �
� �
��Q�P�� �
�
�sA�C�>C+�"C	�3C+�C	�C	�C(
�!C(
�#C+�+C<	�4C<	c
�v�[[Q29^tt^2oUOQQ*2PPP2[[Q29^tt^2oUO[[
O
UO
2]QQ5PPP2P!)%fhKi9h)%fhP!9h)rci��r��w+bi��r�)r7rr8rCrOrr;�r)rPs& r�test_length_0_large_offset�$MmapTests.test_length_0_large_offset�s~���&�$�
�
�1�
�G�G�F�T�M�"� ��&�%�
 �
 �A����j�$�)�)�Q�X�X�Z��%/�
�
1�!�
 � �
��!�
 �
 �s#�B�7B'�B$	�B$	�'B8	�0B8	c���[[Q29^tt^2oUOQ2UO2[O	UO2]
2oUO
]]]2UOUQ*QQ2UO2PPP2Qo[[U22FD�o[[U22FD�o[[U2[VE2*
2FD�oUPUV5VV**V4U*P*o[O	P[U22oV8Q$UO
VEU2UOUQ*U2UO2J�	J�	J�	[O	P]d2o,QNo	[OV�U	2FDvq�oUO
V�U2J	,QNo	S	FD(vq�oUO[UOV�U2J*	UO2[O	P]2oUO[UO]]]2UO[UO]]]2UO[UO]]]2UO
]]]2UO
]]]2P!)%fhCK29h[cCJ*h9h)r�s
ABCDEabcdergs
ABCDEABCDEz'Map move should have duplicated front 5�
0123456789)i�������r��d))r�r�r�)r�r�r)r�rr�)rr�r�)r�rr)rr�r)rrr�)r7rr8r:rr;�mover@r=r�rB�max�	itertools�productrOrC)r)rPr�r��dest�src�countr�rQ�offsets�sourcer]s&           r�	test_move�MmapTests.test_move�sA��
�&�%�
 �
 �A�
�G�G�M�"�
�G�G�I����1�8�8�:�r�*�B��G�G�A�q�!�����R��U�M�3\�]��H�H�J�!����#�d�)�$�D��S��Y�'��"�3�t�9�s�4�~�#=�>�E�#�E�T�{�T�c�i�-@�@�4�U�
��CT�T�H��	�	�"�c�$�i�0�A��a�D��F�F�4�e�,��$�$�Q�q�T�8�4��G�G�I�
?�(�%�
�I�I�b�#���'��"+�"3�"3�G�g�"N��F�$�
����v�T�*�#O�7��")��F�$����j�!�&�&�&��E�#*�	
���	��I�I�b�!������*�a�f�f�a��A�6����*�a�f�f�a��A�6����*�a�f�f�a��A�6�	���q�!�Q��	���q�!�Q��W!�
 �
 ��8�
��
�s*�BK�K�K	�K	�	K*�$K*�)K*c�\�[OP[2o[[2FDoUOV*]Q2J	[[2FD(oU]�*oV1U$UOV*U2J*	UOUO	2[2P!)r�z+anonymously mmap'ed contents should be zero)rr9r�r@r])r)rQ�x�bs&   r�test_anonymous�MmapTests.test_anonymous�s����I�I�b�(�#���x��A����Q�T�1�J�
L�!��x��A��D��A��a�D����Q�T�1�%�!�	
�������8�,r c	�H�[OP]2oUOUO2UO[	[]222UO
]2UOUO2[	[]222UO
]2UOUO2[	[]]222UO
]2UOUO2Q2UO
]2UOUOP2[	[]]222UO
]2UOUOP2[	[]]222UO
]2UOUOQ2[	[]]222UO
]	2UOUOQ2[	[]	]222P!)r�r r�i���)	rr<r=r8�bytesr�rMr@rw�r)rQs& r�
test_read_all�MmapTests.test_read_all�sh���I�I�b�"��������� �	
����e�B�i� �!�	���q�	��������5��r��#3�4�	���q�	��������5��q�"��#6�7�	���r�
��������3�'�	���q�	���������u�U�1�b�\�':�;�	���q�	���������U�5��B�<�%8�9�	���q�	���������U�5��B�<�%8�9�	���q�	���������e�E�!�R�L�&9�:r c�4�[OP]2oUOUO2UO[UO
Q2UO[UO
Q2UO[UO
,QN2P!)r��foog@)r�r�r5)rr<r=rCrtrwr�s& r�test_read_invalid_arg�MmapTests.test_read_invalid_argsd���I�I�b�"��������� ����)�Q�V�V�U�3����)�Q�V�V�S�1����)�Q�V�V�Y�7r c
�~�[[[Q222o[OP[	U22oVQ$UOUQ*U2]P]]]Q[OPQQQ1oSFD@oSFD6oUQ*FD%oUOV$VV/*VVV/*2J'	J8	JB	P!)�rg�,�r�NNr��������)r��reversedr�rrBr@rx�maxsize)r)�srQ�indicesrT�stop�steps&      r�test_extended_getslice� MmapTests.test_extended_getslices����(�5��:�&�'���I�I�b�#�a�&�!���!������1��q�!��d�A�q�"�c�3�;�;��B��T�J���E���#�B�K�K�D��$�$�Q�T��%7�%&�T��%7�9�(� �r c���[[[Q222o[OP[	U22o]P]]]Q[
OPQQQ1oSFD�oSFD�oUQ*FDwoVQ$UOUQ*U2[U2oVtVV/*o[[U22oV�VEU/$V�VEU/$UOUQ*[U22Jy	J�	J�	P!)r�r�rrgr�rr)	r�rr�rrBrxrr@�list)	r)rrQrrTrr�Lr�s	&        r�test_extended_set_del_slice�%MmapTests.test_extended_set_del_slice!s����(�5��:�&�'���I�I�b�#�a�&�!���d�A�q�"�c�3�;�;��B��T�J���E���#�B�K�K�D��a�D��$�$�Q�q�T�1�-��Q��A��4�_�-�D� ��$��0�D�)-�e��o�&�)-�e��o�&��$�$�Q�q�T�5��8�4�(� �r c��UOQU*2UOQ2UOQU]*
*2UO2[OUO2]2!)r2r3)r8r:rr;)r)rP�halfsizes&&&r�make_mmap_file�MmapTests.make_mmap_file5sT��	�����!�"�	�����	����(�Q�,�'�(�	���
��y�y�!�(�(�*�a�(�(r c�<�[[Q2oUO2[[Q29^tt^2oUO[Q[
O
UO
2][
OQ5PPP2P!)%fhP!9h)r�r\zcannot mmap an empty filere)r7rr=�assertRaisesRegexrOrr;rsr�s& r�test_empty_file�MmapTests.test_empty_file=sg���&�%� ��	���	�
�&�$�
�
�1��"�"�:�#>�#'�9�9�a�h�h�j�!�*.�*:�*:�
#�
<� �
�
�
�s�AB
�
B	�B	c��[[Q2o[OoUO	V2oUO2UO2U]*o[[Q2oQ	FDMo[OUO
2VEQ5oUO]]2UO]]2JO	UO2[[Q2o[OUO
2VB*
UQ5oUOUQ*Q2UO2[UQ2%c�UOQ2UO[U2Q2UO[UOQ]2UOUQ*Q2[[Q2oUO]]2UOUO!2UQ*2UO2UOUO#2UQ*2UO2UO2[$O&[2P![[[1cCJh9h[(cP!h9hSO2[$O&[2h[(chh9h9h)
r�rkr�r4r3rXrZr[r\)r�r�N)r7rr�ALLOCATIONGRANULARITYrr=r;r@rOrt�
OverflowErrorrvrXrBrCrMrNr]r%r
r-)r)rPrrQr�r�s&     r�test_offset�MmapTests.test_offsetFs$���&�%� ��0	��1�1�H��#�#�Q�1�A�
�G�G�J�
�G�G�J���l�G��V�U�#�A�(��+��	�	�!�(�(�*�g�	�E�A��$�$�Q��*��$�$�Q��*�)�
�G�G�I��V�U�#�A��	�	�!�(�(�*�g�&8��	�J�A����Q�s�V�V�,�
�G�G�I��q�(�#�#�����
�� � ��Q���-��!�!�*�a�f�f�c�1�=�� � ��3���0����&�����q�!��� � �����8�c�>�:����	�� � �����8�c�>�:�
�G�G�I�
�G�G�I�
��	�	�&�!��C#�I�}�=�����D�
��
��
�G�G�I�
��	�	�&�!���
��
�s��A J�47I,�+BJ�C7J�J
�,J�J�J�J�J�
	J�J�J�K�.K	�K�		K�K�K�K�Kc�R�QQ[O2oU[2P!)c�(`�\sQsQsnQsQsUsP!)�*MmapTests.test_subclass.<locals>.anon_mmap�|c�P�[OOUP,UN3-U@!�r�)r�__new__)�klass�args�kwargss&*,rr#�2MmapTests.test_subclass.<locals>.anon_mmap.__new__}s#���y�y�(�(���D�T�D�V�D�Dr �)�__name__�
__module__�__qualname__�__firstlineno__r#�__static_attributes__�__classdictcell__��
__classdict__s@r�	anon_mmapr|s����
E�
Er r1)rr9)r)r1s& r�
test_subclass�MmapTests.test_subclass{s��	E��	�	�	E�	�(�r r�zneeds mmap.PROT_READc��]
o[[Q29^tt^2oUOQU*2PPP2[[Q29^tt^2o[OUO	2U[O
Q5oUO
[UOQ2PPP2P!)%fhK�9h)%fhP!9h)rbrcrdr\rrr�)r7rr8rr;r�rCrt)r)r�r�rPrQs&    r�test_prot_readonly�MmapTests.test_prot_readonly�s�����
�&�$�
�
�2��H�H�T�'�\�"� �
�&�$�
�
�1��	�	�!�(�(�*�g�D�N�N�	�C�A����i����%�8� �
� �
��
�
�
�s$�B5�AC�5C	�>C	�C	�C	c�P�UO[O[2P!r$)r�r�errorr-r(s&r�
test_error�MmapTests.test_error�s���
�
�d�j�j�'�*r c��Qo[[Q29^tt^2oUOQ[U2*2PPP2[[Q29^tt^2o[O	UO2[U22oPPP2[
[U22FDaoUOWO2U2UOV*2UOUO2U]*2Jc	UO[WO]x2UOUQ*U2UO]2[
[U22FDpoUOUO2U2UOUO2V*2UOUO2U]*2Jr	UO[UO2UO]2UOUO]2Q2UOUO2]2UO]2UOQ2UOUO2]2UOUQ*Q2UO[Q22UOUO2]	2UOUQ*Q	2UO[UOQ
2P!)%fhCK�9h)%fhCK�9h)r�rcr�rkrgs345r6s
012bar6789sbazs
012barbaz9sba)r7rr8rBrr;r�r@rNrurCrOrMr�rwr�)r)r�r�rPrQr�s&     r�test_io_methods�MmapTests.test_io_methods�s8����
�&�$�
�
�2��H�H�T�#�d�)�^�$� �
�&�%�
 �
 �A��	�	�!�(�(�*�c�$�i�0�A�!��s�4�y�!�A����Q�V�V�X�q�)�
�L�L���!����Q�V�V�X�q��s�+�"�	
���*�a�l�l�G�<�����1��t�$�	���q�	��s�4�y�!�A����Q�V�V�X�q�)����Q�[�[�]�D�G�4����Q�V�V�X�q��s�+�"�	
���*�a�k�k�2�	���q�	���������F�+��������1�%�	���q�	�	������������1�%�����1��}�-�	���	�&�!�"��������1�%�����1��}�-����*�a�g�g�u�5�= �
�
��
 �
 �
 �s#�"L%�.L9�%L6	�.L6	�9M
	�M
	c��QFD�o[OP]2oUOU2UOU]*U2UO]2UOUO	2U2UO2J�	P!)�)r?���)rrur@rMr�r=)r)r�rQs&  r�test_non_ascii_byte�MmapTests.test_non_ascii_byte�se�� �A��	�	�"�a� �A�
�L�L��O����Q�q�T�1�%�
�F�F�1�I����Q�[�[�]�A�.�
�G�G�I�
!r r�zrequires Windowsc�N�QoQo[2o[2o[OP[U2UQ5oVQ$[OP[U2UQ5oV&Q$UOUQ*U2UOUQ*U2UO	2UO	2[OP[U2UQ5oVQ$[OP[U2UQ5oV&Q$UOUQ*U2UOUQ*U2UO	2UO	2UO[Q29^tt^2[OP]]Q5PPP2P!)%fhP!9h)r�s
abcdefghij��tagnamergrF)rrrBr@r=rrt)r)�data1�data2�tagname1�tagname2�m1�m2s&      r�test_tagname�MmapTests.test_tagname�sD������!�#��!�#���Y�Y�r�3�u�:�x�Y�
8���1��
�Y�Y�r�3�u�:�x�Y�
8���1������A���&�����A���&�
���
�
���
��Y�Y�r�3�u�:�x�Y�
8���1��
�Y�Y�r�3�u�:�x�Y�
8���1������A���&�����A���&�
���
�
���
�
�
#�
#�I�y�
9�
9��I�I�b�!�Q�I�'�:�
9�
9�
9�s�0F�F$	�F$	c���[OP]d2o[2o[OP]dUQ5oUO[OU2[OU22P!)r�rE)rr�
assertGreaterrx�	getsizeof)r)rKrFrLs&   r�test_sizeof�MmapTests.test_sizeof�sR���Y�Y�r�3�
�� �"��
�Y�Y�r�3��Y�
0�����3�=�=��,�c�m�m�B�.?�@r c�@�[2o[OPQUQ5o[OPQUQ5Q*UO2[[Q29^tt^2oUOQ2PPP2[[Q2o[OUO
2]2oUO2UO]2UQ*UO2P!K�9h)%fhK�9hK:9hK79h)r���rE�rgrcrks
xxxxxxxxxx)rrr=r7rr8r;rX)r)rFrQr�rPs&    r�test_crasher_on_windows�!MmapTests.test_crasher_on_windows�s���!�"���I�I�b�$��I�0��	��I�I�b�$��I�0��3�	
���	��&�$�
�
�2��H�H�W�� �������I�I�a�h�h�j�!�$��	���	�	�
�H�H�Q�K�	�
�a�D�	
���	��%	��� �
��	���	��s5�C8�,C?�D�	D�8C<�?D	�D	�D�Dc�8�[O2oUO[29^tt^2[OUO	2]
2oPPP2UO2P!)%fhK"9hSO2h9h�rb)�socketrCr-rr;r=)r)rrQs&  r�test_invalid_descriptor�!MmapTests.test_invalid_descriptor�s`��

�M�M�O��	��"�"�7�+�+��I�I�a�h�h�j�"�-��,�
�G�G�I�,�+��
�G�G�I�s(�B�%A4�B�4B	�=B	�?B�Bc���[OP]
29^tt^2oUOUO2PPP2UOWO2P!)%fhK-9hr")r�assertFalser�rKr�s& r�test_context_manager�MmapTests.test_context_managersE��
�Y�Y�r�2�
�
�!����Q�X�X�&��������!��
�s�A!�!A1	�*A1	c	�h�UO[29^tt^2o[OP]
29^tt^2o[g)%fhL9hPPP2L)%fhL9hSO	WO
[Q2SO
WOQ2P!)r�z)wrong exception raised in context managerzcontext manager failed)rC�	Exceptionrr-�assertIsInstance�	exceptionrKr�)r)�excrQs&  r�test_context_manager_exception�(MmapTests.test_context_manager_exceptionsw��
�
�
�y�
)�
)�S����2�r�"�"�a��
�#�"��"�*�
)�
)�
)��	
���c�m�m�W�I�	K�������":�;s(�A"�A	�A
�A
�A"�"A2	�+A2	c���[OP]2o[OU2oUOU2U2=[	2UOU2P2P!r")r�weakref�refr�r)r)�mm�wrs&  r�test_weakref�MmapTests.test_weakrefsG��
�Y�Y�r�2�
��
�[�[��_���
�
�b�d�B������
�
�b�d�D�!r c�<�[OP]2oUOUOQ2]2UOUOQ2]2UOUOQ2]2UOUOQ2]2P!)r�r r�syz�python)rr@r8)r)rls& r�0test_write_returning_the_number_of_bytes_written�:MmapTests.test_write_returning_the_number_of_bytes_writtenss��
�Y�Y�r�2�
��������#���*�������$���+�������%��!�,�������)�,�a�0r c��[OPQ2oUOUO2UOQ2UO	Q2UOUO]2Q2UO
[UO2UO
[UO]*2UO
[UOQ2P!)r�i rVr�r ri)rr<r=rwrXr@rCrOr�rur8r�s& r�test_resize_past_pos�MmapTests.test_resize_past_pos$s����I�I�b�$��������� �	���t��	�������������S�)����*�a�k�k�2����*�a�l�l�B�7����*�a�g�g�v�6r c�<�[OP]2oUO[29^tt^2V*PPP2UO[29^tt^2U]*PPP2P!)%fhKA9h)%fhP!9hr")rrCrtr�s& r�test_concat_repeat_exception�&MmapTests.test_concat_repeat_exception/s`���I�I�b�"���
�
�
�y�
)�
)�
�E�*�
�
�
�y�
)�
)�
��E�*�
)�*�
)��
)�
)�
)�s#�	A7�#
B
�7B	�B	�
B	�B	c��[OP]2oUOUO2UOQ2UO	2oUOU2[OOQ2%c@[2%f.UO[UO][Q22P!P!P!)r�rq��linux�android)
rr<r=r8r:�assertIsNonerxryrzr
rCr-rB)r)rl�results&  r�test_flush_return_value�!MmapTests.test_flush_return_value6s����Y�Y�r�2�
��������!�
�������������&�!��L�L�#�#�$8�9�9�5�7�7�
���g�r�x�x��C�	�N�C�8�
:r c��[OQ2o[OQ2oQ
o[9PIc,QU2DMJ	3LQU22o[VC2FCD�vqVQU*oVe*
oQo	]U]
*U]*U]*1o
[	[
Q29^tt^2oUO
U2UO2[OV�2FCDTvq�[[U2o[OUO2UUUQ59^tt^2oUOU
2UO[U22oUO!U2UO#UO%Q2U2UO#UO%Q2['U22UO#UO%Q2['U
22UO#UO%Q	2['U22PPP2UO[W22oUO!U2CJW	PPP2CJ�	P!)%fhKO9h)%fhCJ9h)zr<mmap.mmap closed=False, access=(?P<access>\S+), length=(?P<length>\d+), pos=(?P<pos>\d+), offset=(?P<offset>\d+)>z<mmap.mmap closed=True>c3��SF �D9oU]*[O*[O*w�	J;	P!3h�r�)rr)�.0r�s& r�	<genexpr>�&MmapTests.test_repr.<locals>.<genexpr>Ms8��DL���DL��!�A���)C�)C�C��4�4�5�5�DL�s�AArdr�)rfr�rfr�posr�)�2r�rUi@Bi���)�ACCESS_DEFAULTrsr}r|)rG�compile�tuple�zipr7rr8r:r�r�r�rr;rMrS�repr�assertIsNotNoner@�groupr>)r)�open_mmap_repr_pat�closed_mmap_repr_pat�mapsizesr�r�r�r�r�accesses�	positionsr�rfr��accintrlrSs&                r�	test_repr�MmapTests.test_reprDs����Z�Z�
'�(�� "�z�z�*D�E��:���%�N�DL�N�%�%�N�DL�N�N��"�7�5�5�O�F��'�>�D��%�F�7�H��F�B�J���	�6�1�9�=�I��f�e�$�$����������
�#,�#4�#4�X�#I�#I�K�F�$�T�6�2�F����2�9�9�;�#)�*0�*0�#�2�2�68������ 2� 8� 8��b�� B���,�,�U�3��(�(����X�)>��G��(�(����X�)>��F��L��(�(����U�);�S��X�F��(�(����X�)>��F��L�2�1�6�6�t�B�x�@�E��(�(��/�$J�%�$�
 6�2�2��%�$�$�s2�3A>I'	�1CI�
8I'	�I$�I$�I'	�'I9
�0I9
�madvisez
needs madvisec��][*o[OPU2oQQ2oUO[Q29^tt^2UO	[O
U2PPP2UO[Q29^tt^2UO	[O
P2PPP2UO[Q29^tt^2UO	[O
]P2PPP2UO[Q29^tt^2UO	[O
[[O2PPP2UO[Q29^tt^2UO	[O
[Q2PPP2UOUO	[O
2P2UOUO	[O
[2P2UOUO	[O
[U2P2UOUO	[O
]]2P2UOUO	[O
]U22P2UOUO	[O
]U2P2P!)%fhCKx9h)%fhCKE9h)%fhCK9h)%fhCK�9h)%fhCK�9h)r�c�(`�\sQsQsnQsQsUsP!)�&MmapTests.test_madvise.<locals>.Number�mc��]!r�r(r(s&r�	__index__�0MmapTests.test_madvise.<locals>.Number.__index__ns��r r(�r)r*r+r,r�r-r.r/s@r�Numberr�ms����
�
r r�zmadvise start out of boundszmadvise length invalidzmadvise length too largez0'str' object cannot be interpreted as an integerzNot a Number)r9rrrOr��MADV_NORMALrrxrrtr@)r)r]rQr�s&   r�test_madvise�MmapTests.test_madvisehs,���8�|���I�I�b�$���	�	��
#�
#�J�0M�
N�
N�
�I�I�d�&�&��-�O�
�
#�
#�J�0M�
N�
N�
�I�I�d�&�&��+�O�
�
#�
#�J�0H�
I�
I�
�I�I�d�&�&��2�.�J�
�
#�
#�M�3M�
N�
N�
�I�I�d�&�&��#�+�+�>�O�
�
#�
#��M�O�O�
�I�I�d�&�&��.�A�O�	
������4�#3�#3�4�d�;�������4�#3�#3�X�>��E�������4�#3�#3�X�t�D�d�K�������4�#3�#3�Q��:�D�A�������4�#3�#3�Q���A�4�H�������4�#3�#3�Q��=�t�D�!O�
N�
N��
N�
N�
N��
I�
I�
I��
N�
N�
N��O�O�O�sZ�
!K�!K1�"L�#4L�=&L-�K.	�&K.	�1L	�:L	�L	�L	�L*	�"L*	�-L>	�6L>	c	�t�[o]U*o[OU2o[OPU29^tt^2oV4Q$[O
O
Q2%c9UO[29^tt^2UOU2PPP2LbUOU2UO[U2U2UOUPUU2UOVAPQV!*
*2PPP2P!)%fhK9h)%fhP!9h)r�rgr2)r|r}�netbsd)r9r�	randbytesrrxryrzrCrOrXr@rB�r)�
start_size�new_sizer�rQs&    r� test_resize_up_anonymous_mapping�*MmapTests.test_resize_up_anonymous_mapping�s���
�
��z�>�����
�+��
�Y�Y�r�:�
&�
&�!��a�D��|�|�&�&�'E�F�F��&�&�z�2�2��H�H�X�&�3�2�����"�� � ��Q���2�� � ��;�J���6�� � ��;���(�:O�1P�Q�'�
&�3�2��
'�
&�
&�s7�)D&�/D&�D	�A+D&�D#
�D#
�D&�&D7	�/D7	rnzrequires Posixc��[o]U*o[OU2o[OPU[OQ59^tt^2oV4Q$UOU2UO
[U2U2UO
UPUU2UO
VAPQV!*
*2PPP2P!)%fhP!9h)r��rorgr2)r9rr�rrrXr@rBr�s&    r�(test_resize_up_private_anonymous_mapping�2MmapTests.test_resize_up_private_anonymous_mapping�s����
��z�>�����
�+��
�Y�Y�r�:�T�-=�-=�Y�
>�
>�!��a�D�
�H�H�X�����S��V�X�.����Q�{�
�^�T�2����Q�{�^�U�h�6K�-L�M�?�
>�
>�
>�s�A'C�C	�C	c	�L�][*oU]*o[OU2o[OPU29^tt^2oV4Q$UO	U2UO[
U2U2UOUQ*UPU2[OOQ2%c8UO[29^tt^2UO	U2PPP2PPP2P!)%fhK9h)%fhP!9h)r�rgr{)r9rr�rrXr@rBrxryrzrCrOr�s&    r�"test_resize_down_anonymous_mapping�,MmapTests.test_resize_down_anonymous_mapping�s���
��\�
���?�����
�+��
�Y�Y�r�:�
&�
&�!��a�D�
�H�H�X�����S��V�X�.����Q�q�T�4�	��?�3��|�|�&�&�';�<�<��&�&�z�2�2��H�H�Z�(�3�'�
&�3�2��'�
&�
&�s7�A1D�>D�C?	�-D�?D
�D
�
D�D#	�D#	c�r�][*o[o[[Q2oUOU2[O	UO2U2o[O	UO2U2oUO
[29^tt^2UOU2PPP2UO
[29^tt^2UOU2PPP2UO2UOU2UOUO2U2UO[OUO22OU2UO2P!)%fhK�9h)%fhK�9hSO2h9h)r�r�)r9r7rr{rr;rCr-rXr=r@r]r%r�r�)r)r��reduced_sizerPrKrLs&     r�+test_resize_fails_if_mapping_held_elsewhere�5MmapTests.test_resize_fails_if_mapping_held_elsewhere�s��
��\�
��������	�
�
�:��	����1�8�8�:�z�2�B����1�8�8�:�z�2�B��"�"�7�+�+��	�	�,�'�,��"�"�7�+�+��	�	�,�'�,��H�H�J��I�I�l�#����R�W�W�Y��5����R�W�W�Q�X�X�Z�0�8�8�,�G�
�G�G�I�,�+��+�+��
�G�G�I�sI�A%F$�E>�.%F$�F�%BF$�>F	�F	�	F$�F!	�F!	�F$�$F6c�0�][*o[o[2o]o[Q[U222o[O	PVQ5o[O	PVQ5oVVPU#UOUPUU2UO
[29^tt^2UOU2PPP2UOUO2U2UOUPUU2UOUPUU2P!)%fhK\9h)r�c3�Z�SF �Do[O]2w�	J	P!3h)�)r�getrandbits)r�rs& rr��UMmapTests.test_resize_succeeds_with_error_for_second_named_mapping.<locals>.<genexpr>�s!��4F���4F�q�V�'�'��*�*�4F�s�$+rE)
r9rr�r�rr@rCr-rXr])r)r�r�rF�data_lengthr�rKrLs&       r�8test_resize_succeeds_with_error_for_second_named_mapping�BMmapTests.test_resize_succeeds_with_error_for_second_named_mapping�s���
��\�
���!�#�����G�E�+�4F�G�G��
�Y�Y�r�:�Y�
7��
�Y�Y�r�:�Y�
7���<�K������L�[�)�4�0�
�
�
�w�
'�
'��I�I�l�#�(��������J�/�����L�[�)�4�0�����L�[�)�4�0�	(�
'�s�D�D	�D	c��QQ2o[O[O[O[O,o[O[O[O,oSFCD�oUU29^tt^2vqVUO[Q29^tt^2VV2*PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2VV2]PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2VV2]]/*PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2U]U2Q/*PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2UOU22PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2UOQ]U22PPP2PPP2CJ�	SFCD�oUU29^tt^2vqVUO[Q29^tt^2QVV2]#PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2QVV2]]/$PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2QU]U2Q/$PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2UO]]U22PPP2PPP2UU29^tt^2vqVUO[Q29^tt^2UOU22PPP2PPP2CJ�	P!)%fhCKh9h)%fhCKt9h)%fhCKE9h)%fhCKQ9h)%fhCK9h)%fhCK'9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCJ�9h)%fhCK`9h)%fhCKl9h)%fhCK:9h)%fhCKF9h)%fhCK9h)%fhCK9h)%fhCK�9h)%fhCK�9h)%fhCK�9h)%fhCJ\9h)c�@`�\sQsQsnU1QkQksQsQsQsUsP!)�KMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext��c� :�U]6�cPgQP-!)r��returnr()�formatr0s"�r�__annotate__�aMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__init__.__annotate__�s���
%�
%�$�
%r c��VmP!r$re)r)rfs&&r�__init__�TMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__init__�s��$�r c�X`�[[Q2UmUOO[O
]d22UOO
2[OUOO2]dUOQ5nU1QkQ2oRU1!)r�rec�0:`�\sQsQsnU1QksQsUsP!)�`MmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__enter__.<locals>.X�c�*:�RO2]
!rZ)r=r�s&�rr��jMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__enter__.<locals>.X.__index__�s������	�!r r(r�)r0rQs@�rr�r��s����"�"r r�)
r7rrPr8rr�r:rr;rf)r)r�rQs& @r�	__enter__�UMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__enter__�sp����f�e�,��������V�-�-�c�2�3��������I�I�d�f�f�m�m�o�s�4�;�;�I�G��"�"�
�1�v�
r c�<�UOO2P!r$)rPr=)r)�exc_type�	exc_value�	tracebacks&&&&r�__exit__�TMmapTests.test_mmap_closed_by_int_scenarios.<locals>.MmapClosedByIntContext.__exit__s�������r )rfrP)	r)r*r+r,r�r�r�r-r.r/s@r�MmapClosedByIntContextr��s����
%�
%�
�
�
r r�zmmap closed or invalid�1r�s
1111111111s11111)rrsr|r}r�rrOrwrAr�ru)r)r��read_access_modes�write_access_modesrfrQr�s&      r�!test_mmap_closed_by_int_scenarios�+MmapTests.test_mmap_closed_by_int_scenarios�s>��	�	�,
������������	
��
���������
��(�F�'��/�/�6�A��+�+�J�8P�Q�Q��a�c�F�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��a�c�B�K�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��a�c�B��l�O�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��b�1�3��m�$�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��F�F�1�3�K�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��F�F�4��A�C�(�R�0�/�+(�2)�F�'��/�/�6�A��+�+�J�8P�Q�Q�"+�A�a�c�B�K�R�0�(��/�/�6�A��+�+�J�8P�Q�Q�&.�A�a�c�B��l�O�R�0�(��/�/�6�A��+�+�J�8P�Q�Q�'/�A�b�1�3��m�$�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��F�F�1�a���%�R�0�(��/�/�6�A��+�+�J�8P�Q�Q��L�L���%�R�0�/�#)�/R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/��
R�Q�Q��0�/�/�s�!P2	�1P
�?P2	�!Q	�
Q
�
Q	�*!R	�Q.
�R	�<!R*	�R
�/R*	�!S	�0R>
�S	�'!S:	�S&
�!S:	�
!T#	�.
T
�8T#	�!U	�9
T7
�U	�&!U3	�U
�U3	�5!V	�V
�/V	�!W	�0V/
�W	�P/�'P/�)	P2	�2Q
�;Q
�Q�Q�	Q	�Q+
�#Q+
�.Q?�7Q?�9	R	�R
�R
�R'�R'�!	R*	�*R;
�3R;
�>S�S�		S	�S#
�S#
�&S7�/S7�1	S:	�:T
�T
�T �T �	T#	�#T4
�,T4
�7U�U�	U	�U
�U
�U0�(U0�*	U3	�3V
�<V
�V�V�	V	�V,
�$V,
�/W�8W�:	W	�W
�W
�_protectztest needs debug buildc���]QHGo[OQ2o[	QV!2vq4oUOUO
2Q2UOUO
2Q2P!)r)ra�

            import faulthandler
            import mmap
            import os
            import sys
            from contextlib import suppress

            # Prevent logging access violations to stderr.
            faulthandler.disable()

            PAGESIZE = mmap.PAGESIZE
            PAGE_NOACCESS = 0x01

            with open(sys.argv[1], 'bw+') as f:
                f.write(b'A'* PAGESIZE)
                f.flush()

                m = mmap.mmap(f.fileno(), PAGESIZE)
                m._protect(PAGE_NOACCESS, 0, PAGESIZE)
                with suppress(OSError):
                    m.read(PAGESIZE)
                    assert False, 'mmap.read() did not raise'
                with suppress(OSError):
                    m.read_byte()
                    assert False, 'mmap.read_byte() did not raise'
                with suppress(OSError):
                    m.readline()
                    assert False, 'mmap.readline() did not raise'
                with suppress(OSError):
                    m.write(b'A'* PAGESIZE)
                    assert False, 'mmap.write() did not raise'
                with suppress(OSError):
                    m.write_byte(0)
                    assert False, 'mmap.write_byte() did not raise'
                with suppress(OSError):
                    m[0]  # test mmap_subscript
                    assert False, 'mmap.__getitem__() did not raise'
                with suppress(OSError):
                    m[0:10]  # test mmap_subscript
                    assert False, 'mmap.__getitem__() did not raise'
                with suppress(OSError):
                    m[0:10:2]  # test mmap_subscript
                    assert False, 'mmap.__getitem__() did not raise'
                with suppress(OSError):
                    m[0] = 1
                    assert False, 'mmap.__setitem__() did not raise'
                with suppress(OSError):
                    m[0:10] = b'A'* 10
                    assert False, 'mmap.__setitem__() did not raise'
                with suppress(OSError):
                    m[0:10:2] = b'A'* 5
                    assert False, 'mmap.__setitem__() did not raise'
                with suppress(OSError):
                    m.move(0, 10, 1)
                    assert False, 'mmap.move() did not raise'
                with suppress(OSError):
                    list(m)  # test mmap_item
                    assert False, 'mmap.__getitem__() did not raise'
                with suppress(OSError):
                    m.find(b'A')
                    assert False, 'mmap.find() did not raise'
                with suppress(OSError):
                    m.rfind(b'A')
                    assert False, 'mmap.rfind() did not raise'
        z-cr )�test.support.os_helperr�textwrap�dedentrr@�strip)r)r�code�rt�stdout�stderrs&     r�test_access_violations� MmapTests.test_access_violations>s\��	2����@ �@
��B.�d�D�A���F���������-���������-r c
��[[Q29^tt^2oUOQ[*]*2UO	2[
OUO
2[]*2oUOUO2UO	2UO	[2UO	[[2[[
Q2%c'UO	][[
OQ5[[
Q2%c!UO	[
OQ5[[
Q2%c-UO	[]*[
OQ5[[
Q2%Cc
[[
Q2%c�[OOQ2%c�UO!["29^tt^2oUO	][[
O[
O*Q5PPP2UO%WO&O([(O*2L;UO	][[
O[
O*Q5PPP2P!)%fhK�9h)%fhP!9h)r�r��MS_SYNCr��MS_ASYNC�
MS_INVALIDATE)�freebsd�	dragonfly)r7rr8r9r:rr;r<r=rvr�r�r�rxryrzrCr-r@re�errno�EINVAL)r)rPrQ�cms&   r�test_flush_parameters�MmapTests.test_flush_parameters�s���
�&�%�
 �
 �A�
�G�G�D�8�O�a�'�(�
�G�G�I��	�	�!�(�(�*�h��l�3�A��O�O�A�G�G�$�
�G�G�I�
�G�G�H��
�G�G�H�h�'��t�Y�'�'�����8�4�<�<��8��t�Z�(�(����d�m�m��,��t�_�-�-�����1��D�,>�,>��?��t�Z�(�(�W�T�?�-K�-K��<�<�*�*�+C�D�D��*�*�7�3�3�r�����8�4�=�=�4�CU�CU�3U��V�4��$�$�R�\�\�%7�%7����F��G�G�A�x�t�}�}�t�?Q�?Q�/Q�G�R�1!�
 �(4�3��)!�
 �
 �sV�CK�-;K�)5K�AK�"K�8$K�K�:<J8	�6A8K�8K
�K
�K�K	�K	r|z
Linux onlyzmusl libc issue, gh-143632c	�
�[OP[2oUOUO2UO	Q2oUOW2QoUO	U2oUOU2QoUO[29^tt^2UO	U2PPP2[[Q29^tt^2oUOQ[*2UO2[OUO!2[2oUOUO2UO[29^tt^2UO	Q2PPP2PPP2P![
c=oSO[O6XcSOQ2Po=CKxgPo=hh9h)%fhCK$9h)%fhKx9h)%fhP!9h)r��test_mappingzprctl() failed with EINVALr�r��should_fail�Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�Cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)rr9r<r=�set_namer-r�r��skipTestr~rCrOr7rr8r:r;)r)rQrrf�	long_name�
too_long_namerPrLs&       r�
test_set_name�MmapTests.test_set_name�se��

�I�I�b�(�#�������� �
	��Z�Z��/�F�	
���&�!��	����I�&�����&�!�!�
�
�
�
�z�
*�
*�
�J�J�}�%�+��&�%�
 �
 �A�
�G�G�D�8�O�$�
�G�G�I����1�8�8�:�x�0�B��O�O�B�H�H�%��"�"�:�.�.����M�*�/�
!�
 ��/�	��y�y�E�L�L�(�
�
�
�:�;�;���	��&+�
*�
*��/�.��
!�
 �
 �sl�F�G
�B
G1�G	�.G1�	G�
G�G�*G�G�G�
G	�G	�G.
�'G.
�)G1�1H	�:H	r()TF)Hr)r*r+r,r*r.rVr��
skipUnlessrvrr_r�r�subTestsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	rrrrr2r5r9r<rBr%r~rMrrRrWr\r`rgrnrrrurxr�r�r�r�r�r�r�r�r�r�r�rxry�requires_linux_version�skipIf�linked_to_muslrr-r.r/s@rr"r"%s������D<�L�������H�5�7M�N�(�O�(�,|�|
���)�=�9�$8�:�$8�L
$�8��$K�2
'� 8�$�;�
E�1�-�^-�;�*8�9�5�()�<�3�j������{�3�5K�L�9�M�9�+� 6�D�������D��*<�=�(�>�(�<�
������D��*<�=�A�>��A�������D��*<�=��>��4������D��*<�=�	�>�	�"�
<�"�1��������H�5�7M�N�7�O�7��D�"0�H�������I�6��H�E�I�E�4�������H�5�7M�N�R�O�R�,������G�+�-=�>�
�������H�5�7M�N�
N�O�?�
N��������H�5�7M�N�)�O�)�$������D��*<�=��>��.������D��*<�=�1�>�1�(T&�l������D��*<�=�
�������J�7�9Q�R�F.�S�>�F.�PS�6�������0�,�?��#�#�A�r�1�-�
�_�_�W�+�+�-�/K�L�$+�M�.�@�$+r r"c��`�\sQsQsnQsQsQsQsQsQs	\
O\O\6�Q2Q	2s\
O\O\6�Q2Q
2sQsUsP!)�LargeMmapTestsi�c�&�[[2P!r$�r
rr(s&rr*�LargeMmapTests.setUp��	���v�r c�&�[[2P!r$rr(s&rr.�LargeMmapTests.tearDown�r
r c���[OQ*Q6Xf
[%c[QQ[	Q2*2[[Q2oUOU2UOU2UO2U![[[1cASO2L[[1cLh9h[OQ2gh9h):Nr5Nrl�	largefilez-test requires %s bytes and a long time to run�r�z*filesystem does not have largefile support)rxryr	rr>r7rrMr8r:r-rrOr=r�r�)r)�
num_zeroes�tailrPs&&& r�_make_test_file�LargeMmapTests._make_test_file�s����<�<���u�$����[�?�#�k�BR�R�
T������		R�
�F�F�:��
�G�G�D�M�
�G�G�I����
��
�3�	R�
����	���]�+�
��
���#�#�$P�Q�Q�	R�s<�2B�C!� C!�"B3�2C!�3C�C�C!�C�C!c	�Z�UOQQ29^tt^2o[OUO2]Q[OQ59^tt^2oUO	UQ*] 2PPP2PPP2P!)%fhK9h)%fhP!9h)l��� lr�i���)rrr;rsr@r^s&  r�test_large_offset� LargeMmapTests.test_large_offset�sr��
�
!�
!�+�t�
4�
4�����1�8�8�:�q��T�EU�EU��V�V�Z[�� � ��9��r�2�W�5�
4�V�V��5�
4�
4�s/�>B�B	�4B�B
�B
�B�B*	�"B*	c
�D�UOQQ29^tt^2o[OQ6c�UO[29^tt^2[
OUO
2Q[
OQ5PPP2UO[29^tt^2[
OUO
2][
OQ5PPP2[
OUO
2Q[
OQ59^tt^2oUOUO2Q2PPP2PPP2P!)%fhK�9h)%fhK�9h)%fhK@9h)%fhP!9h)l��rrrer�)rrxrrCrrr;rsrOr@r]r^s&  r�test_large_filesize�"LargeMmapTests.test_large_filesize�s���
�
!�
!�+�t�
4�
4���{�{�[�(��&�&�}�5�5��I�I�a�h�h�j�+�d�>N�>N�I�O�6��&�&�z�2�2��I�I�a�h�h�j�!�D�4D�4D�I�E�3����1�8�8�:�w�t�7G�7G��H�H�A�� � �����;�7�I�5�
4�6�5��2�2��H�H��5�
4�
4�sq�F�F�5E	�%F�)5E(	�AF�"!E;	�F�E%
�E%
� F�(E8
�1E8
�3F�;F
�F
�F�F	�F	c	��QoU[U2]**
oU[U2*oUOV229^tt^2o[OUO2][OQ59^tt^2oUOVcUU2PPP2PPP2P!)%fhK9h)%fhP!9h)s  DEARdear  re)rBrrr;rsr@)r)�boundaryrrTrUrPrQs&&     r�_test_around_boundary�$LargeMmapTests._test_around_boundary�s������3�t�9��>�)���c�$�i���
�
!�
!�%�
.�
.�!����1�8�8�:�q��1A�1A��B�B�a�� � ����t�4�C�/�
.�B�B��/�
.�
.�s0�=B?�B,	�B?�,B<
�5B<
�7B?�?C	�C	z!test cannot run on 32-bit systemsc�2�UO[2P!r$)r rr(s&r�test_around_2GB�LargeMmapTests.test_around_2GB����"�"�3�'r c�2�UO[2P!r$)r rr(s&r�test_around_4GB�LargeMmapTests.test_around_4GBr%r r()r)r*r+r,r*r.rrrr r�rrxrrr#r'r-r.r/s@rr	r	�s{�������"3�

8�5�������s�*�,O�P�(�Q�(�������s�*�,O�P�(�Q�(r r	�__main__rZ)(�testr�test.supportrrrrrrr	r
�test.support.import_helperrr�rr
�test.support.script_helperrr�r�r%rGr�rr[rrxr�rjrr9�getpidrrr��TestCaser"r	r)�mainr(r r�<module>r1s�������5�1�7���	�	��
�
�
�
����V����=�=���2�9�9�;�-�z�2��(��
�
�
�L�
M�M�e+��!�!�e+�P%:(�X�&�&�:(�z�z���M�M�O�r 

Youez - 2016 - github.com/yon3zu
LinuXploit