403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.217.51
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:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_struct.cpython-313.opt-2.pyc
�

��i@���:�SSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
Jr SSKJ
r
Jr SSKJr \R"S:HrSrSr\4S	jrS
rSr"SS
\R05r"SS\R05r\S:Xa\R8"5 gg)�)�abcN)�support)�
import_helper�suppress_immortalization)�assert_python_ok�big)�b�B�h�H�i�I�l�L�q�Q�n�N)��@�=�<�>�!c#�^# �[HnUHnUS;aUS;aMX4v� M M! g7f)N�rr)rr)�
integer_codes)�
byteorders�code�	byteorders   �%C:\Python313\\Lib\test\test_struct.py�iter_integer_formatsr"s3�����#�I���*�t�z�/A���/�!�$��s�+-c��USSS2$)N����)�ss r!�string_reverser's���T�r�T�7�N�c�2�[(aU$[U5$�N)�ISBIGENDIANr')�values r!�bigendian_to_nativer-s���{����e�$�$r(c�x�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSr\R2S5rSrSrSrSrSrSr \!"5S5r"\R2S5r#Sr$\R2S 5r%\R2S!5r&S"r'S#r(S$r)S%r*S&r+g')(�
StructTest�$c�f�UR[R"SS5SS:H[5 g)Nz=i�r)�assertEqual�struct�packr+��selfs r!�test_isbigendian�StructTest.test_isbigendian%s'�����&�+�+�d�A�.�q�1�Q�6��Er(c�V�UR[R[RS5 [R"S5nUR	US-[R"S55 SnSn[R"U5n[R"U5nUR	US-U5 UR[R[R
SS5 UR[R[R
SSSS5 UR[[R4[R
SS5 UR[[R4[R
SS5 UR[R[RS	S
5 [R
"SSS
5nUR[R[RSU5 UR[R[RSU5 g)N�Zr
��iiizcbxxxxxxhhhhiillffd?z3c3b18x12h6i6l6f3d3?�foo�P�dsflap�iir2�)�assertRaisesr4�error�calcsizer3r5�	TypeError�unpack)r7�sz�fmt�fmt3�sz3r&s      r!�test_consistence�StructTest.test_consistence(se�����&�,�,�����=�
�_�_�S�
!������a������!7�8�$��%��
�_�_�S�
!���o�o�d�#������a���%����&�,�,����U�A�>����&�,�,����S�!�Q��B����9�f�l�l�3�V�[�[�#�u�M����9�f�l�l�3�V�[�[�#�u�M����&�,�,��
�
�s�G�D��K�K��a��#�����&�,�,��
�
�u�a�@����&�,�,��
�
�s�A�>r(c
�:�SnSnSnSnSnSnSnSnSGHn	S	H�n
X�-n
[R"X�X#XEXgU5	n[R"X�5up�p�nnnnURX�5 URX�5 URX�5 URX�5 URUU5 UR[	S
U-5[	S
U-55 UR[	S
U-5[	S
U-55 URUU5 M� GM g)N�ar2�i��igo���!	@T)rrrrrr)z	xcbhilfd?z	xcBHILfd?�d)r4r5rGr3�int)r7�cr	rr
r�fr@�t�prefix�formatr&�cp�bp�hp�ip�lp�fp�dp�tps                    r!�test_transitiveness�StructTest.test_transitiveness=s����
��������������3�F�4������K�K��1��q�Q�?��17���v�1I�.����B��B�� � ��'�� � ��'�� � ��'�� � ��'�� � ��Q�'�� � ��S�2�X���C�!�G��=�� � ��S�2�X���C�!�G��=�� � ��Q�'�5�4r(c�T�/SPSPSPSPSPSPSPSPS	PS
PSPSPS
PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPS PS!PS"PS#PS$PS%PS&PS'PS(PS)/S*S*S+4PS,PnUH�up#pEnS-U-U4S.U-U4S/U-U4S0U-[=(a U=(d U44H�upx[R"Xs5n	URX�5 UR[R"U5[U	55 [R"Xy5S1n
X�:wdM{URU5 M� M� g)2N)rSrOrOrOr)�xcrO�ardr)�cxrO�arfr)r&rOrOrOr)�0s�
helloworldr(r(r2)�1srh�hrjr2)�9srh�	helloworlrlr2)�10srhrhrhr)�11srh�helloworldror2)�20srh�helloworldrqr2)�0prhr(r(r2)�1prh�rtr2)�2prh�hrvr2)�10prh�
	helloworlrxr2)�11prh�
helloworldrzr)�12prh�
helloworldr|r2)�20prh�
helloworldr~r2)r	��r�r)r	i������r�r)r
rr�r�r)r
�r�r�r)r�����r)riD�����D�D�r)rr�r�r�r)riD�r�r�r)r
�,�,���,r)r
�����������r)rr�r�r�r)r��b�wr�r�r)rr�r�r�r)rr�r�r�r)rr�r�r�r)rr�r�r�r)rT�@s@s@r)r@r�s@s@r)rT��s�s�r)r@r�s�s�r)�?rrtrtr)r�r<�r�r2)r�Tr�r�rr�rtr2)r�)r2r�r�r2rrrrr)r+r4r5r3rE�lenrG�
assertTrue)r7�testsrI�argr�lil�asy�xfmt�exp�res�revs           r!�test_new_features�StructTest.test_new_featuresUs���-
�&�-
�+�-
�
,�-
�
'�	-
�

/�-
�
1�
-
�
A�-
�
D�-
�
H�-
�
V�-
�
/�-
�
7�-
�
9�-
�
J�-
�
L�-
� 
P�!-
�"
\�#-
�$
&�%-
�&
+�'-
�(
&�)-
�*
,�+-
�,
4�--
�.
/�/-
�0
4�1-
�2
6�3-
�4
C�5-
�6
J�7-
�8
C�9-
�:
U�;-
�<
C�=-
�>
J�?-
�@
C�A-
�B
U�C-
�D
>�E-
�F
<�G-
�J
E�K-
�L
@�M-
�P
&�Q-
�R
&�S-
�T
)�U-
�V�"�e�U�A�&�W-
�X
)�Y-
��^(-�#�C�c��!$�S��#���S��#���S��#��!$�S��+�*=�#�*D�� E� G����k�k�$�,��� � ��*�� � �����!6��C��A��m�m�D�.�q�1���:��O�O�C�(� G�(-r(c���SSSSSSSSSSS.
n[S5H3up#X2-n[R"U5nURXQU5 M5 SnUHSnSHJn[R"X7S	-5n[R"X7S-5n	URX�5 ML MU UR[R"S
5S5 UR	S[R"S55 UR	S[R"S55 UR	[R"S5[R"S
55 UR	[R"S
5[R"S55 UR	S[R"S55 UR	[R"S5[R"S55 UR[R"S5[R"S
55 UR[R"S5[R"S55 g)Nr2rB��)
r	r
rrr
rrrrr�rrrr)�bB�hH�iI�lL�nN�qQrrr	rrr
rrr?)r"r4rEr3�assertLessEqual�assertGreaterEqual)
r7�
expected_sizerr rW�size�native_pairs�format_pair�signed_size�
unsigned_sizes
          r!�
test_calcsize�StructTest.test_calcsize�s��������������
� 4�4H�I�O�D��^�F��?�?�6�*�D����T��#6�7� J�:��'�K�$�	�$�o�o�i�a�.�.H�I�� &���	��N�0J� K�
�� � ��<�%�(�	
�������-�q�1����Q����� 4�5����Q����� 4�5����V�_�_�S�1�6�?�?�3�3G�H����V�_�_�S�1�6�?�?�3�3G�H����Q����� 4�5����V�_�_�S�1�6�?�?�3�3G�H�������� 4�f�o�o�c�6J�K�������� 4�f�o�o�c�6J�Kr(c�^^^�SSKm"UUU4SjS[R5m[5H!upX!-mT"T5nUR	5 M# g)Nrc�>^�\rSrSrUU4Sjr\R\RYR4Sjr	U4Sjr
SrU=r$)�+StructTest.test_integers.<locals>.IntTester�c�\>�[TU]SS9 XlUSUlUSSUlUR[
;a[
SUR-5e[R"U5Ul	URS-Ul
UR[S5;a:SUlSURS	-
-*Ul
SURS	-
-S	-
UlgUR[S
5;a&SUlSUl
SUR-S	-
Ulg[
S
UR-5e)N�test_one)�
methodNamer$z"unrecognized packing byteorder: %sr��bhilqnTrBr2�BHILQNFrzunrecognized format code: %s)�super�__init__rWrr r�
ValueErrorr4rE�bytesize�bitsize�tuple�signed�	min_value�	max_value)r7rW�	IntTester�	__class__s  ��r!r��4StructTest.test_integers.<locals>.IntTester.__init__�s����i��/�:�/�F�$��"�2�J��	�!'�������~�~��3�$�%I�%)�^�^�&4�5�5� &���� 7��
�#�}�}�q�0����9�9��h��/�"&�D�K�'(�4�<�<��>�':�%;�D�N�%&����a��%8�1�%<�D�N��Y�Y�%��/�1�"'�D�K�%&�D�N�%&����_�q�%8�D�N�$�%C�%)�Y�Y�&/�0�0r(c�X�URnURUs=::aUR::GaPO GOLUnUR(aUS:aUSUR--
nURUS5 SU-n[
U5S-(aSU-nURS5nU"U5nSUR[
U5-
-U-nURS:XdURS;a[(d[U5nUR[
U5UR5 U"XQ5nURXv5 U"XW5SnURX5 UR[R[ 4X5S	U-5 gUR["[$[R4X%U5 g)
Nrr2z%x�0�asciirtr)rrrr�)rWr�r�r�r�r�r��encoder�r r+r'r3rCr4rDrF�
OverflowErrorr�)	r7�xr5rG�	unhexlifyrW�expected�got�	retrieveds	         r!r��4StructTest.test_integers.<locals>.IntTester.test_one�sl�������>�>�Q�8�$�.�.�8�8� �H��{�{�q�1�u� �A����$5�5���+�+�H�a�8�#�h��H��8�}�q�(�#&��>��'���w�7�H�(��2�H� '�4�=�=�3�x�=�+H� I� (�!)�H����#�-����.�8���#1�(�#;���$�$�S��]�D�M�M�B��v�/�C��$�$�S�3�!'�v� 3�A� 6�I��$�$�Q�2��%�%�v�|�|�Y�&?��AH�3��P��%�%�}�j�&�,�,�&O�&*�A�7r(c�j>�SSKJn /n[URS-5HnUR	SU-5 M [UR5H@nSn[UR
5HnUS-U"S5-nM UR	U5 MB UR
SS[RS	-/5 UH-nU*U4H!nS
HnXX-n	URU	5 M M# M/ "SS5n
"S
S[5n"SS[5nUR[[R4[RUR S5 UR[[R4[RUR U5 UR[[R4[RUR S5 UR[[R4[RUR U
"55 UR[[R4[RUR U"55 U"S5U"S5U"S5U"S5U"S5U"S54Hn
[R"TU
5 M U"S5U"S5U"S5U"SS05U"/SQ54HCn
UR[[R4[RUR U
5 ME g! UR#S5 M�=f)Nr)�	randranger<r2r��i,i`�
r�)r$rr2c��\rSrSrSrSrg)�AStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnIntic��g�N�*r%r6s r!�__int__�IStructTest.test_integers.<locals>.IntTester.run.<locals>.NotAnInt.__int__���!r(r%N)�__name__�
__module__�__qualname__�__firstlineno__r��__static_attributes__r%r(r!�NotAnIntr�s��"r(r�c� �\rSrSrSrSrSrg)�BStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexableic��Xlgr*��_value)r7r,s  r!r��KStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__init__s��&+�r(c��UR$r*r�r6s r!�	__index__�LStructTest.test_integers.<locals>.IntTester.run.<locals>.Indexable.__index__s��#�{�{�*r(r�N)r�r�r�r�r�r�r�r%r(r!�	Indexabler�s��,�+r(r�c� �\rSrSrSrSrSrg)�AStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndexi!c��[er*)rFr6s r!r��KStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__index__"s��'�r(c��gr�r%r6s r!r��IStructTest.test_integers.<locals>.IntTester.run.<locals>.BadIndex.__int__%r�r(r%N)r�r�r�r�r�r�r�r%r(r!�BadIndexr�!s��(�"r(r�za stringy@E@�
�r�rQ�z:integer code pack failed on object with '__index__' methodrOr	�a)r2rBr<)�randomr��ranger��appendr��extend�sys�maxsizer��objectrCrFr4rDr5rW�fail)r7r��valuesr�r
�val�j�base�incrr�r�r�r��objrWs              �r!�run�/StructTest.test_integers.<locals>.IntTester.run�s����,��� �����!1�2�C��M�M�!�s�(�+�3��t�|�|�,�A��C�"�4�=�=�1��"�a�x�9�S�>�9��2��M�M�#�&�	-��
�
�s�F�C�K�K��M�:�;�#�D� $�u�d�{��$,�D� #�
�A� �M�M�!�,�%-� +�#�"�"�+��+�"�v�"��!�!�9�f�l�l�";�"(�+�+�t�{�{�",�.��!�!�9�f�l�l�";�"(�+�+�t�{�{�"+�-��!�!�9�f�l�l�";�"(�+�+�t�{�{�"'�)��!�!�9�f�l�l�";�"(�+�+�t�{�{�"*�*�.��!�!�9�f�l�l�";�"(�+�+�t�{�{�"*�*�.�
&�a�L�)�B�-��2��%�b�M�9�S�>�9�S�>�K�C�=����F�C�0�K�&�d�O�Y�s�^�Y�t�_�%�s�A�h�/��9�1E�G�C��%�%�y�&�,�,�&?�&,�k�k�4�;�;�&)�+�G��=��	�	�#<�=�s�L�L2)r�r r�rrWr�r�r�)
r�r�r�r�r�r4r5rGr�r�rr��
__classcell__)r�r��binasciirWs@���r!r�r��s3���
0�,(.�{�{�)/���,4�,>�,>�$
7�LR
+�R
+r(r�)r
�unittest�TestCaser"r)r7rr rUr�r
rWs    @@@r!�
test_integers�StructTest.test_integers�sL����O	+�O	+��)�)�O	+�b 4�5�O�D��^�F��&�!�A�
�E�E�G� 6r(c��^�U4SjnSHWnSHNnX2-nU"[RU5 U"[RUS5 U"[RUS5 MP MY g)Nc��>�TR[R5nU"U0UD6 SSS5 TRS[	WR
55 g!,(df   N4=f)Nzbad char in struct format)rCr4rD�assertIn�str�	exception)�func�args�kwargs�cmr7s    �r!�assertStructError�2StructTest.test_nN_code.<locals>.assertStructErrorOsJ����"�"�6�<�<�0�B��d�%�f�%�1��M�M�5�s�2�<�<�7H�I�1�0�s�	A�
A&r�r�rr()r4rEr5rG)r7rrr rWs`    r!�test_nN_code�StructTest.test_nN_codeMsT���	J��D�1�	�"���!�&�/�/�6�:�!�&�+�+�v�q�9�!�&�-�-���=�	2�r(c��SHVupp4[R"X5nURXS5 [R"X5unURXT5 MX g)N)	)rr�abcr(r()�prrtr()rsrrtr()rursarO)�3prsabsab)�4prsabcr)�5prsabcr)�6prsabcr)�1000ps�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)r4r5r3rG)r7r�inputr��expectedbackr�s      r!�test_p_code�StructTest.test_p_codeZsQ��	4D�/�D���+�+�d�*�C����S�+��]�]�4�-�F�S����S�/�	4Dr(c�F�[SS5H�nSnXS--
U:waUS-nXS--
U:waMX-
n[R"SU5n[R"SU5SnUR	X5 [R"SU5nUR	U[U55 [R"SU5SnUR	X5 M� Sn[R"US	5n[R"SU5n[R"SU5SnUR	Xu5 S
n[R"US5nUR[[RSU5 UR[[RSU5 UR[[RSU5 S
n[R"US5n[R"SU5n[R"SU5SnUR	Xu5 Sn[R"US5nUR[[RSU5 UR[[RSU5 UR[[RSU5 g)Nr2�!g�?r��<fr�>fi����hi����grTi���>ei�r��<e�e)
r�r4r5rGr3r'�math�ldexprCr�)r7r�delta�smaller�packed�unpacked�	bigpackedrs        r!�test_705836�StructTest.test_705836ks���!�R�L�D��E����$��,��������$��,��l�G��[�[��w�/�F��}�}�T�6�2�1�5�H�
���T�,����D�'�2�I����Y��v�(>�?��}�}�T�9�5�a�8�H����T�,�!�$���j�j��h�'�����T�3�'���=�=��v�.�q�1������'����j�j��h�'�����-����d�C�@����-����d�C�@����-����c�3�?����j�j��g�&�����T�3�'���=�=��v�.�q�1������'����j�j��g�&�����-����d�C�@����-����d�C�@����-����c�3�?r(c��[5HiupX!-nUR[R[RUS5 UR[R[RUS5 Mk UR[R[RSS5 UR[R[RSS5 g)N��?��?r?)r"rCr4rDr5)r7rr rWs    r!�test_1530559�StructTest.test_1530559�s���3�5�O�D��%�F����f�l�l�F�K�K���E����f�l�l�F�K�K���E� 6�	
���&�,�,����S�#�>����&�,�,����S�#�>r(c	��SnSn[R"U5n[[4H�nU"U5nUR	URU5S5 UR	URUS5S5 UR	URUS5S5 [
S5H*nUR	URXV5XVUS-45 M, [
S[U5S	-5H.nUR[RUR
XV5 M0 M� [[4GHnU"U5nUR	[R
"X%5S5 UR	[R
"X%S5S5 UR	[R
"X%S5S5 [
S5H0nUR	[R
"X%U5XVUS-45 M2 [
S[U5S	-5H3nUR[R[R
X%U5 M5 GM UR	URUSS
9S5 g)Ns	abcd01234�4s)sabcdrB)scd01r�)s0123�r2)�buffer�offset)
r4�Struct�bytes�	bytearrayr3�unpack_fromr�r�rCrD)r7�test_stringrIr&�cls�datar
s       r!�test_unpack_from�StructTest.test_unpack_from�s���"�����M�M�#����9�%�C��{�#�D����Q�]�]�4�0�*�=����Q�]�]�4��3�Z�@����Q�]�]�4��3�Z�@��1�X��� � ����t�!7�$��1��+��H���1�c�+�.��2�3���!�!�&�,�,��
�
�t�G�4�&��9�%�C��{�#�D����V�/�/��:�J�G����V�/�/��1�=�z�J����V�/�/��1�=�z�J��1�X��� � ��!3�!3�C�q�!A�D�1�Q�3�K�>�R���1�c�+�.��2�3���!�!�&�,�,��0B�0B�C�q�Q�4�&�	
������k�!��D�#�	%r(c���Sn[[R"SS55nU"USU5 UR5S[U5nUR	XB5 U"USU5 UR5S[U5S-nUR	XBSSU-5 U"USU5 UR5SS[U5-nUR	XB5 [R"SS5nUR[[R45 U"USU5 SSS5 UR[[R45 U"USU5 SSS5 UR[[R45 U"US	U5 SSS5 UR[[R45 U"US
U5 SSS5 UR[[R45 U"USU5 SSS5 UR[USSU5 UR[USSU5 UR[US/S
-SU5 UR[USSU5 UR[XSSS2SU5 UR[XSSS2SU5 UR[5 U"USU5 SSS5 UR[5 U"USU5 SSS5 UR[[45 U"USS-U5 SSS5 UR[[45 U"USS-*U5 SSS5 g!,(df   GNG=f!,(df   GN!=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   N�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)NsReykjavik rocks, eow!r	�d                                                                                                    rr�i��s
          �Zi�����ij���zd                                                                                                    rQrBr$�i�)�
memoryview�array�tobytesr�r3rCr�r4rDrF�
IndexErrorr�)r7�	pack_intorI�writable_buf�from_buf�	small_bufs      r!�_test_pack_into�StructTest._test_pack_into�s"��.��!�%�+�+�c�8�"<�=��	�,��;�/��'�'�)�*;�3�{�+;�<������/�	�,��K�0��'�'�)�*>�3�{�+;�B�+>�?������s��#3�k�#A�B�	�,��[�1��'�'�)�#�c�#�k�2B�.B�C������/��K�K��W�-�	�
�
�
�
�F�L�L�9�
:��i��K�0�;�
�
�
�
�F�L�L�9�
:��l�B��4�;�
�
�
�
�F�L�L�9�
:��l�C��5�;�
�
�
�
�F�L�L�9�
:��l�C��5�;�
�
�
�
�F�L�L�9�
:��l�D�+�6�;�	
���)�Y��!�[�I����)�Y���K�H����)�Y���C���K�H����)�Y��a��E����)�Y�S�q�S�0A�1�k�R����)�Y�T�r�T�0B�A�{�S��
�
�y�
)��l�D�+�6�*�
�
�
�y�
)��l�C��5�*�
�
�
�
�M�:�
;��l�A�t�G�[�9�<�
�
�
�
�M�:�
;��l�Q��W�H�k�:�<�
;�5;�
:��
:�
:��
:�
:��
:�
:��
:�
:��*�
)��
)�
)��
;�
;��
;�
;�sl�M�M-�M?�8N�0N#�<N5�$O�O�O(�
M*�-
M<�?
N�
N �#
N2�5
O�
O�
O%�(
O6c�f�[R"S5nURUR5 g�N�21s)r4rEr[rW�r7r&s  r!�test_pack_into�StructTest.test_pack_into�s"���M�M�%� �����Q�[�[�)r(c�,�SnURU5 g)Nc�0�[R"S/UQ76$r^)r4rW)rs r!�<lambda>�.StructTest.test_pack_into_fn.<locals>.<lambda>�s��&�"2�"2�5�"@�4�"@r()r[)r7rWs  r!�test_pack_into_fn�StructTest.test_pack_into_fn�s��@�	����Y�'r(c��[R"SS5n[S5nX4H.n[R"SU5unUR	US5 M0 g)Nr
s4Vxz>IixV4)rTrSr4rGr3)r7�data1�data2rKr,s     r!�test_unpack_with_buffer�"StructTest.test_unpack_with_buffer�sL�����C�!4�5���.�/���N�D��]�]�4��.�F�E����U�J�/�#r(c�(�"SS[5n[S5S-GH�nS//SS4nS/S	S
SSS
4nUS[U5--n[R"U/UQ76n[R
"XV5nUS[U5--n[R"U/UQ76n	[R
"X�5n
UR
[U5[U
55 UR
[U5[U55 UHnURU5 M U
HnURU5 M [R"US-S5nUR
[U5[R"US-55 [U5S:waURUSU-S9 [R"US-U"55 URSUS--5 GM� SH�n
UR[R
"SU
5S5 UR[R
"SU
5S5 UR[R
"SU
5S5 UR[R
"SU
5S5 M� g![a GMrf=f)Nc��\rSrSrSrSrg)�+StructTest.test_bool.<locals>.ExplodingBoolic��[er*)�OSErrorr6s r!�__bool__�4StructTest.test_bool.<locals>.ExplodingBool.__bool__s���
r(r%N)r�r�r�r�rsr�r%r(r!�
ExplodingBoolrps��
r(ruz<>!=)rr%rrr2�testr.r$lg���Ar�z encoded bool is not one byte: %r)�msgz2Expected OSError: struct.pack(%r, ExplodingBool()))r�������z>?z<?z=?z@?)r�r�r�r4r5rGr3�assertFalser�rErrr)r7rurV�false�true�falseFormat�packedFalse�
unpackedFalse�
trueFormat�
packedTrue�unpackedTruerUr6rSs              r!�	test_bool�StructTest.test_bools9��	�F�	��F�m�E�)�F���B��A�%�E��3���2�|�\�A�D� �3��U��#3�3�K� �+�+�k�:�E�:�K�"�M�M�+�C�M��#��D�	�/�1�J����Z�7�$�7�J�!�=�=��@�L����S��Y��L�(9�:����S��Z��]�);�<�"��� � ��#�#�!������"�"��[�[����Q�/�F����S��[�&�/�/�&��*�*E�F��6�{�a��� � ��-O�.4�.5� �6�
?����F�S�L�-�/�:��	�	�-�06���>�?�C*�H?�A��O�O�F�M�M�$��2�1�5�6��O�O�F�M�M�$��2�1�5�6��O�O�F�M�M�$��2�1�5�6��O�O�F�M�M�$��2�1�5�6�	?��
�
��
�s�J�
J�Jc�j�SR[RS-5nUR[R
[RU5 SR[RS-[RS-5nUR[R
[RU5 SR[RS-[RS-5nUR[R
[RU5 SR[R5nUR[R
[RU5 S	R[R5nUR[R
[RU5 g)
Nz{}br2z{}b{}HrBz{}i{}qr�r�z{}?sz{}?p)rWr�r�rCr4rDrE)r7�	hugecount�
hugecount2�
hugecount3�
hugecount4�
hugecount5s      r!�test_count_overflow�StructTest.test_count_overflow.s���L�L����Q��/�	����&�,�,�����C��_�_�S�[�[�!�^�S�[�[�!�^�D�
����&�,�,�����D��_�_�S�[�[�A�%5�s�{�{�a�7G�H�
����&�,�,�����D��]�]�3�;�;�/�
����&�,�,�����D��]�]�3�;�;�/�
����&�,�,�����Dr(c��[R"SS5nUR[R[RS5 UR[R[R
SS5 UR[R[RSUS5 UR[R[RSUS5 UR[R[RSS5 UR[R[R
SS5 UR[R[RSUSS5 UR[R[RSUS5 UR[R[RS	S
5 UR[R[R
S	S5 UR[R[RS	USS
5 UR[R[RS	US5 g)Nr	rO�12345r(r�c12345r��x�14s42z
spam and eggss
spam and eggs)rTrCr4rDr5rGrWrH)r7�stores  r!�test_trailing_counter� StructTest.test_trailing_counter>s������C��*��	
���&�,�,����W�=����&�,�,��
�
�w��D����&�,�,��(8�(8�'�5�!�L����&�,�,��(:�(:�G�U�A�N�	
���&�,�,����X�s�C����&�,�,��
�
�x��F����&�,�,��(8�(8�(�E�1��	 ����&�,�,��(:�(:�H�e��	�	
���&�,�,����W�o�N����&�,�,��
�
�w�*�	,����&�,�,��(8�(8�'�5�!�)�	+����&�,�,��(:�(:�G�U�A�Nr(c��[R"S5nURS5 URURS5 SnURURSS5U5 URUR
U5S5 UR[5 URS5 SSS5 URURS5 URURSS5U5 URUR
U5S5 UR[R5 URS5 SSS5 URURS5 URURSS5U5 URUR
U5S5 g!,(df   GN=f!,(df   N�=f)	N�>hz>hhsr2rB)r2rBu��$)
r4rEr�r3rWr5rGrC�UnicodeEncodeErrorrD)r7r&r6s   r!�test_Struct_reinitialization�'StructTest.test_Struct_reinitializationWsL��
�M�M�$���	�
�
�5��������5�)�$���������1��v�.�������&�)�6�2�
�
�
�1�
2�
�J�J�x� �3�������5�)��������1��v�.�������&�)�6�2�
�
�
�v�|�|�
,�
�J�J�s�O�-�������5�)��������1��v�.�������&�)�6�2�3�
2��-�
,�s�F0�6G�0
F?�
Gc���[R"S5nU[R"S5US---
n[R"U[R
"U5U5 g)N�2n3P�P3n0Pr2)r�calcobjsizer4rE�check_sizeofrE)r7�
format_str�number_of_codes�	totalsizes    r!r��StructTest.check_sizeofnsJ���'�'��/�	��V�_�_�W�-��1�1D�E�E�	����T�6�=�=��#<�i�Hr(c��[HnURUS5 M URSS5 URSS5 URSS5 URSS	5 URS
S5 URSS5 URSS5 URS
S5 URSS5 URSS	5 g)Nr2�	BHILfdspP�	��BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBi��fdrB�xxxxxxxxxxxxxxr�100H�187sr}rgrr�0c)rr�)r7rs  r!�test__sizeof__�StructTest.test__sizeof__us���!�D����d�A�&�"����+�q�)����*�d�+����$��"����*�A�.����&�!�$����&�!�$����%��#����$��"����$��"����$��"r(c�z�SnUR[RU5 [R"S[	S5SS5 SSS5 SnUR[RU5 [R
"S[	S5S5 SSS5 g!,(df   N[=f!,(df   g=f)Nzkpack_into requires a buffer of at least 6 bytes for packing 1 bytes at offset 5 \(actual buffer size is 1\)r	r2r.zounpack_from requires a buffer of at least 6 bytes for unpacking 1 bytes at offset 5 \(actual buffer size is 1\))�assertRaisesRegexr4rDrWrGrH�r7�regex1�regex2s   r!�test_boundary_error_message�&StructTest.test_boundary_error_message�s���
+�	�
�
#�
#�F�L�L�&�
9����S�)�A�,��1�5�:�
+�	�
�
#�
#�F�L�L�&�
9����s�I�a�L�!�4�:�
9�:�
9��:�
9�s�#B�0"B,�
B)�,
B:c��[S5nUR[RS5 [R"SUSS5 SSS5 UR[RS5 [R"SUSS5 SSS5 UR[RS	5 [R
"SUS5 SSS5 UR[RS5 [R
"SUS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nr=f!,(df   g=f)
Nr�z%no space to pack 4 bytes at offset -2�<I����{z*offset -11 out of range for 10-byte bufferz<Bi����z.not enough data to unpack 4 bytes at offset -2)rGr�r4rDrWrH)r7�	byte_lists  r!�0test_boundary_error_message_with_negative_offset�;StructTest.test_boundary_error_message_with_negative_offset�s���b�M�	�
�
#�
#����8�:�
���T�9�b�#�6�:�
�
#�
#����<�>�
���T�9�c�3�7�>�
�
#�
#����A�C�
���t�Y��3�C�
�
#�
#����<�>�
���t�Y��4�>�>�:�:��
>�>��
C�C��
>�>�s/�D�.D$�0D5�1E�
D!�$
D2�5
E�
Ec��S[[RS-5-S-[[R5-S-nUR[R
U5 [R"S[S5[RS5 SSS5 S[[RS-5-S	-[[R5-S-nUR[R
U5 [R"S[S5[R5 SSS5 g!,(df   N�=f!,(df   g=f)
Nz(pack_into requires a buffer of at least r�z% bytes for packing 4 bytes at offset z \(actual buffer size is 10\)r�r�r2z*unpack_from requires a buffer of at least z' bytes for unpacking 4 bytes at offset )	rr�r�r�r4rDrWrGrHr�s   r!�-test_boundary_error_message_with_large_offset�8StructTest.test_boundary_error_message_with_large_offset�s���
8�#�c�k�k�A�o�:N�N�4�
5�7:�3�;�;�7G�
H�,�
-�	�
�
#�
#�F�L�L�&�
9����T�9�R�=�#�+�+�q�A�:�
:�C����a��<P�P�6�
7�9<�S�[�[�9I�
J�,�
-�	�
�
#�
#�F�L�L�&�
9����t�Y�r�]�C�K�K�@�:�
9�:�
9��:�
9�s� 1D1�80E�1
D?�
Ec���UR[5 [R"SS5 SSS5 UR	[R"SS5S5 g!,(df   N6=f)Nr	rrO)�a)rCrFr4rGr3r6s r!�test_issue29802�StructTest.test_issue29802�sK���
�
�y�
)��M�M�#�q�!�*�	
������s�D�1�:�>�*�
)�s�A�
A,c��[R"S5nURURS5 [R"URR	55nURURUR5 g)N�=i2H)r4rEr3rWr�)r7r&�s2s   r!�test_format_attr�StructTest.test_format_attr�sW���M�M�&�!��������6�*��]�]�1�8�8�?�?�,�
-��������A�H�H�-r(c���Sn[SU5up#nURUS5 URUR5S5 URSU5 URSU5 g)Nz�if 1:
            import struct

            class C:
                def __init__(self):
                    self.pack = struct.pack
                def __del__(self):
                    self.pack('I', -42)

            struct.x = C()
            z-crr(sException ignored in:s	C.__del__)rr3�rstripr)r7r�rc�stdout�stderrs     r!�)test_struct_cleans_up_at_runtime_shutdown�4StructTest.test_struct_cleans_up_at_runtime_shutdown�s_��
��.�d�D�9���F�����Q���������#�.��
�
�.��7��
�
�l�F�+r(c���[R"S5n[R"U5nUR	S5 A[
R"5 URU"5S5 g)N�_structr	z(_struct module was not garbage collected)r�import_fresh_module�weakref�refrE�gc�collect�assertIsNone)r7�_struct_module�
module_refs   r!�'test__struct_reference_cycle_cleaned_up�2StructTest.test__struct_reference_cycle_cleaned_up�sU��'�:�:�9�E���[�[��0�
�����$��	�
�
������L�D�	Fr(c�8�[Rn[[R"SS55nX4H@nUR	US9 UR[5 SUlSSS5 SSS5 MB g!,(df   N=f!,(df   Me=f)Nr	r�)rJr2)r4rE�type�iter_unpack�subTestrCrFr�)r7rE�unpack_iteratorrJs    r!�test__struct_types_immutable�'StructTest.test__struct_types_immutable�sq�������v�1�1�#�t�<�=���,�C����#��&��&�&�y�1��C�E�2�'�&�-�1�1��'�&�s$�B
�A9�$B
�9
B�B
�

B	c��SHBnUR[RS5 [R"U5 SSS5 MD g!,(df   MV=f)N)�z2irtzembedded null character)r�r4rDrEr`s  r!�test_issue35714�StructTest.test_issue35714�sI��$�A��'�'����(A�C�����"�C�C�%�C�C�s�A
�

A	c�^�U4SjnSH'nSHnU"X#S5 M SHnU"X#S5 M M) SnU"SUS5 S	nU"SUS5 g)
Nc��>�X-n[R"U5nU(aSUS--S-
nSnOSUS-S-
-S-
nSUS-S-
-*nSUSUSU3n[S5US-
US-[S	54HZnT
RX8S
9 T
R	[R
U5 [R"X85 SSS5 SSS5 M\ SnSn	T
RX9S
9 T
R	[R
U5 [R"X95 SSS5 SSS5 g!,(df   Nv=f!,(df   M�=f!,(df   N:=f!,(df   g=f)
NrBr�r2r�'z' format requires z <= number <= g�d~�Q�g�d~�QJ)r��numberz#required argument is not an integerr)r4rErRr�r�rDr5)rV�int_type�is_unsigned�fmt_strr��max_�min_�	error_msgr��
not_numberr7s          �r!�test_error_msg�2StructTest.test_issue98248.<locals>.test_error_msgsJ����'�G��?�?�7�+�D���T�A�X���*�����T�A�X��\�*�Q�.���d�Q�h��l�+�+���H�:�%7��v�^�D�6�R�I��u�:�t�a�x����3�t�9�E���\�\�W�\�D��/�/����i�H����G�4�I�E�D�F�>�I��J������D��+�+�F�L�L�)�D��K�K��4�E�E�D�	I�H��E�D��E�D��E�D�sH�!D?�'D.�>D?�%!E"�E�E"�.
D<�8D?�?
E	�
E	�E"�"
E0�@=<>�BHILQT�bhilqFrrrr%)r7r�rVr�s`   r!�test_issue98248�StructTest.test_issue98248s`���	5�(�F�#���v��6�$�#���v��7�$�����s�H�d�+����s�H�e�,r(c�^^�"SS5mUU4SjnSHnSH
nU"X#-5 M M U"S5 U"S5 g)Nc��\rSrSrSrSrg)�:StructTest.test_issue98248_error_propagation.<locals>.Div0i'c��SS- g)Nr2rr%r6s r!r��DStructTest.test_issue98248_error_propagation.<locals>.Div0.__index__(s	���A�r(r%N)r�r�r�r�r�r�r%r(r!�Div0r�'s��
r(rc��>�TRUSS9 TR[5 [R"UT"55 SSS5 SSS5 g!,(df   N=f!,(df   g=f)N�ZeroDivisionError)r�r)r�rCrr4r5)r�rr7s ��r!�test_error_propagation�LStructTest.test_issue98248_error_propagation.<locals>.test_error_propagation+sR�������<O��P��&�&�'8�9��K�K����0�:�Q�P�9�9��Q�P�s"�A'�A�A'�
A$	� A'�'
A5r��
BHILQbhilqrrr%)r7rrVr�rs`   @r!�!test_issue98248_error_propagation�,StructTest.test_issue98248_error_propagation%sE���	�	�	1�
�F�(��&�v�'8�9�)��	�s�#��s�#r(c��"SS[R5nU"5nURURS5S5 g)Nc�(^�\rSrSrU4SjrSrU=r$)�?StructTest.test_struct_subclass_instantiation.<locals>.MyStructi9c�$>�[TU]S5 g)Nr�)r�r�)r7r�s �r!r��HStructTest.test_struct_subclass_instantiation.<locals>.MyStruct.__init__:s����� ��&r(r%)r�r�r�r�r�r�r	)r�s@r!�MyStructr
9s
���
'�
'r(r
i90s09)r4rEr3r5)r7r
�	my_structs   r!�"test_struct_subclass_instantiation�-StructTest.test_struct_subclass_instantiation7s4��	'�v�}�}�	'��J�	��������.��<r(c��[R"S5nUR[U5SUR<S35 g)Nr�zStruct(�))r4rEr3�reprrWr`s  r!�	test_repr�StructTest.test_repr@s1���M�M�&�!������a��G�A�H�H�<�q�"9�:r(c��[RR[R5n[R"SS5nUR	[
URU5 UR	[
URS5 UR	[
URUS5 UR	[
URU5 UR	[
URU5 UR	[
[US5 UR	[
UR5 UR	[
[U5 URURS5 g)Nr	� r2rWr$)r4rE�__new__rTrC�RuntimeErrorr�r5rWrGrH�getattr�
__sizeof__rr3r�)r7�S�spams   r!�*test_operations_on_half_initialized_Struct�5StructTest.test_operations_on_half_initialized_StructDs����M�M�!�!�&�-�-�0���{�{�3��%�����,��
�
�t�<����,�����2����,����T�1�=����,����$�7����,��
�
�t�<����,���H�=����,����5����,��a�0��������$r(c	��[S5n[S5nSGH�nURUS9 [R"U[R"US55SnURUS5 [R"U[R"X255SnUR
[R"U5U5 [R"U[R"X155SnUR
[R"U5U5 UR[R"SU5S5 [R"U[R"X1*55SnUR
[R"U5U5 UR[R"SU5S5 SSS5 GM� g!,(df   GM�=f)	N�inf�nan)	rTr*r+r@z<dz>dr1r0r/)rWr=rr<g�)�floatr�r4rGr5r3r�r2�isnan�isinf�copysign)r7�INF�NANrWrTs     r!�test_float_round_trip� StructTest.test_float_round_tripRsE���E�l���E�l��
�F�
���V��,��M�M�&�&�+�+�f�c�*B�C�A�F��� � ��C�(��M�M�&�&�+�+�f�*B�C�A�F������
�
�1�
�q�1��M�M�&�&�+�+�f�*B�C�A�F������
�
�1�
�q�1�� � ����s�A�!6��<��M�M�&�&�+�+�f�d�*C�D�Q�G������
�
�1�
�q�1�� � ����s�A�!6��=�-�,�
�
-�,�s�F
G�
G	r%N),r�r�r�r�r8rLr`r�r�r
rr&r9r>rLr[rargrlr�r�r�r�r�r�cpython_onlyr�r�r�r�r�r�r�rr�r�r�r�rrrrr)r�r%r(r!r/r/$s-��F�?�*(�0:)�x L�DX�t>�0�".@�`?�%�60;�d*�(�0�,7�\E� O�23�.I�
���#��#�5�"5�,A�$?�.�,�$��
F� �
F�
������#�
���-��-�B
���$��$�"=�;�%�>r(r/c�>�\rSrSrSrSrSrSrSrSr	Sr
S	rg
)�UnpackIteratorTestihc�^�U4Sjn[R"S5nURS5nU"U5 URS5nU"U5 TR[R5 URS5 SSS5 TR[R5 URS5 SSS5 [R"S5nTR[R5 URS5 SSS5 TR[R5 URS5 SSS5 g!,(df   N�=f!,(df   N�=f!,(df   Nj=f!,(df   g=f)	Nc�>�TRU[R5 TRU[R5 gr*)�assertIsInstancer�Iterator�Iterable)�itr7s �r!�_check_iterator�:UnpackIteratorTest.test_construct.<locals>._check_iteratorns+����!�!�"�c�l�l�3��!�!�"�c�l�l�3r(�>ibcpr(s1234567s123456s12345678rs12)r4rEr�rCrD)r7r4r&r3s`   r!�test_construct�!UnpackIteratorTest.test_constructms���	4�
�M�M�'�"��
�]�]�3�
�����
�]�]�:�
&�����
�
�
�v�|�|�
,�
�M�M�)�$�-�
�
�
�v�|�|�
,�
�M�M�+�&�-�
�M�M�#���
�
�
�v�|�|�
,�
�M�M�#��-�
�
�
�v�|�|�
,�
�M�M�%� �-�
,�-�
,��
,�
,��-�
,��
,�
,�s0�/E�(E�7E-�0E>�
E�
E*�-
E;�>
Fc��[[R"S5RS55nUR	[
U5 g)Nr6r()r�r4rEr�rCrF)r7�iter_unpack_types  r!�test_uninstantiable�&UnpackIteratorTest.test_uninstantiable�s2����
�
�g� 6� B� B�3� G�H�����)�%5�6r(c��[R"S5n[[SS55nUR	U5nUR[
U5S5 UR[
U5S5 UR[
U5S5 UR[[U5 UR[[U5 g)N�>IBr2��ir.�i	r�)i
�)	r4rErFr�r�r3�nextrC�
StopIteration�r7r&r	r3s    r!�test_iterate�UnpackIteratorTest.test_iterate�s����M�M�%� ���%��2�,���
�]�]�1�
������b��?�3�����b��#3�4�����b��#3�4����-��r�2����-��r�2r(c�f�[R"S5n[[SS55nUR	[U55nUR
[U5S5 UR
[U5S5 UR[[U5 UR[[U5 g�Nr>r2�r@rA)
r4rErFr�r�rSr3rCrCrDrEs    r!�test_arbitrary_buffer�(UnpackIteratorTest.test_arbitrary_buffer�s���M�M�%� ���%��2�,���
�]�]�:�a�=�
)������b��?�3�����b��#3�4����-��r�2����-��r�2r(c��[Rn[R"S5n[	[SS55nUR
U5nURU"U5S5 [U5 URU"U5S5 [U5 URU"U5S5 [U5 URU"U5S5 UR[[U5 URU"U5S5 g)Nr>r2r?r<rBr)�operator�length_hintr4rErFr�r�r3rCrCrD)r7�lhr&r	r3s     r!�test_length_hint�#UnpackIteratorTest.test_length_hint�s���
�
!�
!���M�M�%� ���%��2�,���
�]�]�1�
������B���#��R������B���#��R������B���#��R������B���#����-��r�2�����B���#r(c	�0�[R"S[[SS555nUR	[U5S5 UR	[U5S5 UR
[[
U5 UR
[[
U5 grI)r4r�rFr�r3rCrCrD)r7r3s  r!�test_module_func�#UnpackIteratorTest.test_module_func�sl��
�
�
��u�U�1�b�\�':�
;������b��?�3�����b��#3�4����-��r�2����-��r�2r(c�z�SSSSSSSS[S	54S
[S54S/
nUGHiup#USSS
2nURU[R"SU5S5 URU[R"SU55 URU[R"SU5S5 URU[R"SU55 [
RS:XaTURU[R"SU5S5 URU[R"SU55 GMURU[R"SU5S5 URU[R"SU55 GMl /SQnUH�upgUR[R"[R"SU5S55 UR[R"[R"SUSSS
25S55 M� [R"S[R5nURUSS-S5 [R"S[R*5nURUSS-S5 /SQn	U	H,upgnURU[R"Xc55 M. /SQn
U
H*upcUR[[RXc5 M, S/nUH,upgnURU[R"Xc55 M. g)N)s<r<)s�r�)s�{g��@)s�?)sgp>)�rR)s�g�s|z+infs�z-inf)sU5gT�?r$r0rr/�littler1))r0s�)r0s�)r0s��)r0s|)r0s~)r0s�r2�~))r/sg`>)r/rXg`>)r/rXgP>)r/��g�?)r/r[g������?)r/�g�?)r/r\rW)r/s<g�?)r/�<g�?)r/r]g�?)r/�{�i�)r/r^i�)r/s�g`�)r/��g`�)r/r_gP�)r/s�g�)r/��g�)r/r`g�)r/s��i��))r/���@)r/��@)r/�u�<�7~)r/���)r/��)r/�u�<�7�)r0ra)r0rb)r0rc)r0rd)r0re)r0rf)r/sg�g�����@)
r#r3r4rGr5r�r r�r2r$r"rCr�)r7�&format_bits_float__cleanRoundtrip_list�le_bitsrT�be_bits�format_bits__nan_list�
formatcode�bitsr6� format_bits_float__rounding_list�%format_bits_float__roundingError_list�+format_bits_float__doubleRoundingError_lists            r!�test_half_float�"UnpackIteratorTest.test_half_float�s���
��"�!�!���
�%��-�(�
�%��-�(�)�2
�.�A�J�G��d��d�m�G����Q��
�
�d�G� <�Q� ?�@����W�f�k�k�$��&:�;����Q��
�
�d�G� <�Q� ?�@����W�f�k�k�$��&:�;��}�}��(�� � ��F�M�M�#�w�$?��$B�C�� � ��&�+�+�c�1�*=�>�� � ��F�M�M�#�w�$?��$B�C�� � ��&�+�+�c�1�*=�>�A�!
��!6��J��O�O�D�J�J�v�}�}�T�4�'@��'C�D�E��O�O�D�J�J�v�}�}�T�4��"��:�'F�q�'I�J�K�!6����T�4�8�8�,��������T�)�4�0����T�D�H�H�9�-��������T�)�4�0�,
�(�,$D��J�a����T�6�;�;�z�#=�>�$D�1
�-� C�M�J����m�V�[�[�*�H�C�

7�7
�3�$O��J�a����T�6�;�;�z�#=�>�$Or(r%N)r�r�r�r�r7r;rFrKrQrTrpr�r%r(r!r-r-hs&��
!�*7�3�3�
$�3�f?r(r-�__main__)�collectionsrrTr�r2rNrr4r�r�rvr�test.supportrr�test.support.script_helperrr r+rrr"r'r-rr/r-r��mainr%r(r!�<module>rws�����	����
�
���@�7��m�m�u�$��J�
�
(�
�$.�"��%�A
>��"�"�A
>�Hn?��*�*�n?�b�z���M�M�O�r(

Youez - 2016 - github.com/yon3zu
LinuXploit