Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_winreg.cpython-312.pyc

�

'Μg�Y��8�ddlZddlZddlZddlZddlZddlZddlmZmZddl	m
Z
mZejddg��ddl
�	ejejjd�d	zZej&�dd
Ze�dk(rdnd
Zedkrdnd
Zdej.�fzZdezZdezZddefddefddefddefdgd�efdgd�efdde fd d!d"zefd#d$d%ze fd&d'efg
Z!e
Gd(�d)ejD��Z#Gd*�d+ejD�Z$Gd,�d-e$�Z%ejLed.�Gd/�d0e$��Z'ejLed1�Gd2�d3e$��Z(e)d4k(res	e*d5d6�ejV�yy#eef$rdZY��)wxYw)7�N)�machine�
win32_edition)�cpython_only�
import_helper�winreg�win)�required_on)�*z--remote���AMD64TF)�rz Python Test Key [%d] - Delete Mez	SOFTWARE\zSOFTWARE\Classes\z	Int Value�-zQword Valuel�w�*M	z
String ValzA string value�StringExpandzThe path is %path%zMulti-string)�Lots�of�string�valuesz	Multi-nul)�rrrzRaw Datasbinarydataz
Big String�xi�?z
Big Binary�xi@uJapanese 日本u	日本語c��eZdZd�Zd�Zy)�
HeapTypeTestsc�T�|jtjt��y�N)�
assertTrue�gc�
is_tracked�HKEYType��selfs �-/usr/local/lib/python3.12/test/test_winreg.py�test_have_gczHeapTypeTests.test_have_gc8s������
�
�h�/�0�c�p�|jtd�5dt_ddd�y#1swYyxYw)N�	immutable�bar)�assertRaisesRegex�	TypeErrorr�foor s r"�test_immutablezHeapTypeTests.test_immutable;s%��
�
#�
#�I�{�
;� �H�L�<�
;�
;�s�,�5N)�__name__�
__module__�__qualname__r#r+�r$r"rr6s��1�!r$rc�F�eZdZd�Zd�Zdefd�Zdefd�Zd
d�Z	d
d�Z
d�Zy	)�BaseWinregTestsc�8�|jtt�yr)�delete_tree�HKEY_CURRENT_USER�
test_key_namer s r"�setUpzBaseWinregTests.setUpBs��	
���*�M�:r$c���	t||dt�}		t|d�}|j	||�� #t$rYywxYw#t$rYnwxYwt|�t
||�y�Nr)�OpenKey�KEY_ALL_ACCESS�OSError�EnumKeyr3�CloseKey�	DeleteKey)r!�root�subkey�hkey�	subsubkeys     r"r3zBaseWinregTests.delete_treeGs~��	��4���N�;�D��
�#�D�!�,�	�
���T�9�-�
���	��	���
��
��	����$��s �5�A�	A�A�	A�A�sub_keyc���t|ttd�||t�}|j|jdk7�|||�}t
D]\}}}t
||d||��t|�\}	}
}|j|	dd�|j|
dd�t|�\}	}
}|j|	dd�|j|
tt
�d�t|�}t|�	t|�|jd�t|�}
|j�	t|
�|jd�y#t$rY�DwxYw#t$rYywxYw)N�
Default valuerrz"Not the correct number of sub keysz Not the correct number of valueszAIt appears the CloseKey() function does not close the actual key!zBIt appears the key.Close() function does not close the actual key!)�SetValuer5�REG_SZr�handle�	test_data�
SetValueEx�QueryInfoKey�assertEqual�len�intr=�failr;�Close)r!�root_key�	subkeystr�	CreateKey�keyrC�
value_name�
value_data�
value_type�nkeys�nvalues�	since_mod�int_sub_key�int_keys              r"�_write_test_dataz BaseWinregTests._write_test_dataWsa��	��=�&�/�B���-�0������
�
�a��(��C��+��3<�.�J�
�J��w�
�A�z�:�F�3<�%1��$5�!��w�	������#G�H�����!�%G�H�$0��$9�!��w�	������#G�H�����#�i�.�;�	=�
�'�l�����	���%��I�I�2�
3�
�c�(���	�	��	���!��I�I�7�
8���	��	���	��	�s$�7E�/E�	E�E�	E'�&E'c���t|t�}|j|dd�||t�}|||�5}d}		t||�}|j|t
vdd�|dz}�,#t$rYnwxYw|j|t
t
�d�t
D];\}	}
}t||	�\}}
|j||
d�|j|
|d��=	ddd�n#1swYnxYwj�t|d�}|j||d	�	t|d�|jd
�n#t$rYnwxYw|j�y)NrEz+Registry didn't give back the correct valuerrTz&Didn't read back the correct test dataz'Didn't read the correct number of itemsz!Could not directly read the valuezRead subkey value wrongz2Was able to get a second key when I only have one!)�
QueryValuer5rL�	EnumValuer;rIrM�QueryValueExrPr<rO)r!rQrRr9�valrTrC�index�datarUrVrW�read_val�read_typs              r"�_read_test_datazBaseWinregTests._read_test_data�sq����=�1������o�F�	H��h�
�.��
�S�)�
$���E���$�W�e�4�D�� � ���!2�D�!I�K���	���������

���U�C�	�N�F�
H�7@�2�
�J�
�%1�'�:�%F�"��(�� � ��:�!D�F�� � ��:�!D�F�	7@�%�
$�
$��(	�
�
���3��?������9�.G�H�	��C��O��I�I�J�K���	��	��	�	�	�sA�C'�A*�C'�*	A6�3C'�5A6�6A'C'�'C0�#E�	E
�E
c�(�t|tdt�}t||dt�}tD]\}}}t	||��t|�\}}	}
|j
|dd�|j
|	dd�|j�t||�	t||�|jd�|j�t|t�	t|t�}|jd�y#t$rY�NwxYw#t$rYywxYw)Nrzsubkey not empty before deletez Deleting the key twice succeededzCould open the non-existent key)r9r5r:rI�DeleteValuerKrLrPr>rOr;)r!rQrRrTrCrUrVrWrXrYrZs           r"�_delete_test_dataz!BaseWinregTests._delete_test_data�s���h�
�q�.�A���#�y�!�^�<��3<�.�J�
�J����,�3<�%1��$9�!��w�	������#C�D�����!�%E�F��
�
���#�y�!�	��c�9�%��I�I�8�9�	�	�	���(�M�*�	��(�M�2�C��I�I�7�8���	��	���	��	�s$�C6�!D�6	D�D�	D�Dc�p�|j||�|j||�|j||�yr)r]rgrj)r!rQrRs   r"�	_test_allzBaseWinregTests._test_all�s2�����h�	�2����X�y�1����x��3r$c��t||dt��5}|j|jdk7�ddd�t	||dt��5}|j|jdk7�ddd�y#1swY�DxYw#1swYyxYw)Nr)rTrC�reserved�access)�CreateKeyExr:rrH�	OpenKeyEx)r!rTrC�ckey�okeys     r"�_test_named_argsz BaseWinregTests._test_named_args�s{��
�S�'�A� .�0�37��O�O�D�K�K�1�,�-�0��3��!�,�.�15��O�O�D�K�K�1�,�-�.�.�	0�0��.�.�s�A6�B�6A?�BN)rC)r,r-r.r6r3rSr]r9rgrjrlrtr/r$r"r1r1@s6��;�
 � 4=�#,�(�R3<�W�&�P�<4�
.r$r1c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Ze
jedkd�d
��Zd�Zd�Zd�Zd�Zd�Zy)�LocalWinregTestsc�Z�|jt�|jtd�y)Nu
日本-subkey)rlr4r s r"�test_registry_worksz$LocalWinregTests.test_registry_works�s�����(�)����(�/�:r$c��d�}|jt|��d�}|jt|��|jt�y)Nc�&�t||dt�Sr8)rpr:�rTrCs  r"�<lambda>zILocalWinregTests.test_registry_works_extended_functions.<locals>.<lambda>�s��;�s�G�Q��#Or$)rSc�&�t||dt�Sr8)rq�KEY_READr{s  r"r|zILocalWinregTests.test_registry_works_extended_functions.<locals>.<lambda>�s��9�S�'�1�h�#Gr$)r9)r]r4rgrj)r!�cke�okes   r"�&test_registry_works_extended_functionsz7LocalWinregTests.test_registry_works_extended_functions�sF��P�����/�3��?�G�����.���<����0�1r$c�`�|jtt�ttt�yr)rtr4r5r>r s r"�test_named_argumentsz%LocalWinregTests.test_named_arguments�s �����/��?�	�#�]�3r$c��tdt�}|j|jd�|j	�|j|jd�yr8)�ConnectRegistry�HKEY_LOCAL_MACHINE�assertNotEqualrHrPrL�r!�hs  r"�,test_connect_registry_to_local_machine_worksz=LocalWinregTests.test_connect_registry_to_local_machine_works�s@���D�"4�5�����A�H�H�a�(�	���	�������1�%r$c�6�d�}|jt|�y)Nc�"�tdt�S)N�abcdefghijkl)r�r4r/r$r"r|zCLocalWinregTests.test_nonexistent_remote_registry.<locals>.<lambda>�s��/�.�:K�Lr$)�assertRaisesr;)r!�connects  r"� test_nonexistent_remote_registryz1LocalWinregTests.test_nonexistent_remote_registry�s��L�����'�7�+r$c��td�}|jt|�t�|j|tj
ddz�y)Nz
%windir%\test�windirz\test)�ExpandEnvironmentStringsrL�type�str�os�environ)r!�rs  r"�testExpandEnvironmentStringsz-LocalWinregTests.testExpandEnvironmentStrings�s?��$�%5�6������a��#�&�����B�J�J�x�0�8�;�<r$c���	tdt�5}|j|jd�t�#1swYyxYw#t$r|jjd�YywxYwr8)r�r�r�rHr;rLr�s  r"�test_context_managerz%LocalWinregTests.test_context_manager�sZ��	*� ��'9�:�a��#�#�A�H�H�a�0��
�;�:���	*����Q�X�X�q�)�	*�s#�A�#5�>�A�A�%A)�(A)c�\�
�d�
G�
fd�dtj�}|�}|j�	ttt
dz�5}t
d�D]<}t|�\}}}t
|�D]}t||�}	t||	d���>	ddd�d�
|j�ttt
dz�ttt
�y#1swY�GxYw#d�
|j�ttt
dz�ttt
�wxYw)NFc���eZdZ�fd�Zy)�>LocalWinregTests.test_changing_value.<locals>.VeryActiveThreadc���ttt�5}d}d}�s|rdn|}|}t|dt|��s�ddd�y#1swYyxYw)NT��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr�changing_value)rSr4r5rFrG)r!rT�	use_short�long_string�s�dones     �r"�runzBLocalWinregTests.test_changing_value.<locals>.VeryActiveThread.run
sN����0�-�@�C� $�I�"*�K�"�#,�C�+��(1�M�	� ��&6���B�#�A�@�@�s�$A�A
N)r,r-r.r�)r�s�r"�VeryActiveThreadr�s	���
Cr$r�z\changing_valuei�rT)�	threading�Thread�startrSr4r5�rangerKr`r_�joinr>)r!r��threadrT�_�num_subkeys�
num_values�t�i�namer�s          @r"�test_changing_valuez$LocalWinregTests.test_changing_values������	C�y�/�/�	C�"�#������	8��,�(�);�;�=�@C��t��A�1=�c�1B�.�K��Q�"�:�.��(��a�0��"�3��Q��0�/�%�=��D��K�K�M��'��7I�)I�J��'��7�=�=���D��K�K�M��'��7I�)I�J��'��7�s$�C,�AC �C,� C)�%C,�,?D+c	��d}	ttt�5}t||td�t|�\}}}t
|d�ddd�ttdjt|f��ttt�y#1swY�CxYw#ttdjt|f��ttt�wxYw)N�xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrr�\)	rSr4r5rFrGrKr<r>r�)r!r�rTr�r�r�s      r"�
test_long_keyzLocalWinregTests.test_long_key&s�����	8��,�m�<����d�F�C�0�-9�#�->�*��Z����Q��=�

�'����M�4�3H�)I�J��'��7�
=�<��

�'����M�4�3H�)I�J��'��7�s"�B�.B�B�B�
B�;Cc���	ttd�ttd�y#t$rC}|jtjtj
fvr|j
d��d}~wwxYw)NrzMaccess denied to registry key (are you running in a non-interactive session?)r)r`�HKEY_PERFORMANCE_DATAr;�errno�EPERM�EACCES�skipTestra)r!�es  r"�test_dynamic_keyz!LocalWinregTests.test_dynamic_key4s`��	��+�Q�/�	�*�B�/���	��w�w�5�;�;����5�5��
�
�P�Q���		�s�#�	A/�>A*�*A/)�rzRequires Windows XPc��	ttt�5}|j|jd�ddd�ttt�}|j|jd�|j
t�5t|�ddd�|j
t�5t|�ddd�|j
t�5t|�ddd�|j
t�5ttt�ddd�ttt�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�txYw#1swY�NxYw#ttt�wxYwr8)
rSr4r5r�rHr9r��NotImplementedError�DisableReflectionKey�EnableReflectionKey�QueryReflectionKey�DeleteKeyExr>)r!�ckrTs   r"�test_reflection_unsupportedz,LocalWinregTests.test_reflection_unsupportedBs��	8��,�m�<���#�#�B�I�I�q�1�=��+�]�;�C�����
�
�A�.��"�"�#6�7�$�S�)�8��"�"�#6�7�#�C�(�8��"�"�#6�7�"�3�'�8��"�"�#6�7��-�}�=�8�
�'��7�=�<��8�7��7�7��7�7��7�7��
�'��7�s��E)�D-�A
E)�D9�E)�)E�5E)�E�E)�;E�E)�-D6�2E)�9E�>E)�E�
E)�E�E)�E&�"E)�)E?c��	ttt�5}|j|jd�t|ddtd�ddd�ttt�y#1swY�xYw#ttt�wxYw)Nr�	test_name�)rSr4r5r�rHrJ�	REG_DWORDr>�r!r�s  r"�test_setvalueex_value_rangez,LocalWinregTests.test_setvalueex_value_rangeVsa��
	8��,�m�<���#�#�B�I�I�q�1��2�{�D�)�Z�H�=�
�'��7�	=�<��
�'��7�s"�A/�0A#�A/�#A,�(A/�/Bc	���	ttt�5}|jt�5t|ddtd�t|ddtd�ddd�|jtt|d�|jtt|d�ddd�ttt�y#1swY�^xYw#1swY�*xYw#ttt�wxYw)N�test_name_dword����test_name_qword)rSr4r5r��
OverflowErrorrJr��	REG_QWORD�FileNotFoundErrorrar>r�s  r"�"test_setvalueex_negative_one_checkz3LocalWinregTests.test_setvalueex_negative_one_checkbs���		8��,�m�<���&�&�}�5��r�#4�d�I�r�J��r�#4�d�I�r�J�6��!�!�"3�\�2�GX�Y��!�!�"3�\�2�GX�Y�=�
�'��7�6�5��=�<��
�'��7�s:�C�B<�'B0�AB<�C�0B9	�5B<�<C�C�Cc��	ttt�5}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j||�ddd�ttt�y#1swY�xYw#ttt�wxYw)Nrr�r�)
rSr4r5r�rHrJr�rarLr>�r!r��test_val�ret_val�ret_types     r"�test_queryvalueex_return_valuez/LocalWinregTests.test_queryvalueex_return_valuess���
		8��,�m�<���#�#�B�I�I�q�1�%���2�{�D�)�X�F�$0��[�$A�!���� � ��9�5�� � ��(�3�
=�
�'��7�=�<��
�'��7��#�B(�A)B�?B(�B%�!B(�(B>c��	ttt�5}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j||�ddd�ttt�y#1swY�xYw#ttt�wxYw)Nrr�)
rSr4r5r�rHrJ�
REG_BINARYrarLr>r�s     r"�#test_setvalueex_crash_with_none_argz4LocalWinregTests.test_setvalueex_crash_with_none_arg�s���		8��,�m�<���#�#�B�I�I�q�1����2�{�A�z�8�D�$0��[�$A�!���� � ��:�6�� � ��(�3�
=�
�'��7�=�<��
�'��7�r�c��	ttt�5}|j|jd�d}t|ddt|�t|d�\}}|j|t�|j|d�ddd�ttt�y#1swY�xYw#ttt�wxYw)NrzA string with a nullr�zA string)
rSr4r5r�rHrJrGrarLr>r�s     r"� test_read_string_containing_nullz1LocalWinregTests.test_read_string_containing_null�s���		8��,�m�<���#�#�B�I�I�q�1�5���2�{�A�v�x�@�$0��[�$A�!���� � ��6�2�� � ��*�5�
=�
�'��7�=�<��
�'��7�r�N)r,r-r.rxr�r�r�r�r�r�r�r�r��unittest�
skipUnless�WIN_VERr�r�r�r�r�r�r/r$r"rvrv�sx��;�
2�4�&�,�=�
*�8�@8�
0��X����6�)�+@�A�8�B�8�&
8�8�"8� 8�8r$rvzSkipping remote registry testsc��eZdZd�Zy)�RemoteWinregTestsc�N�ttt�}|j|�yr)r��REMOTE_NAMEr4rl)r!�
remote_keys  r"�test_remote_registry_worksz,RemoteWinregTests.test_remote_registry_works�s��$�[�2C�D�
����z�"r$N)r,r-r.r�r/r$r"r�r��s��#r$r�zx64 specific registry testsc��eZdZd�Zej
e�dvd�d��Zeje	d�d��Z
eje	d�d��Zd�Zy	)
�Win64WinregTestsc�n�|jtt�ttttd��y)Nr)rTrCrorn)rtr4r5r�r:r s r"r�z%Win64WinregTests.test_named_arguments�s%�����/��?��)�=�)�A�	7r$)�WindowsCoreHeadless�	IoTEdgeOSz)APIs not available on WindowsCoreHeadlessc��ttd�5}|jt|��|j	t|��|j	t
|��|jt|��ddd�y#1swYyxYw)N�Software)r9r�rr��assertIsNoner�r�)r!rTs  r"�test_reflection_functionsz*Win64WinregTests.test_reflection_functions�si���'��
4���O�O�.�s�3�4����1�#�6�7����2�3�7�8��O�O�.�s�3�4�5�
4�
4�s�A)B�BzOS doesn't support reflectionc��	tttdttz�5}|j|jd�tttdttz�5}|j|jd�ddd�t|ddtd�d�}|jt|�ddd�tttdttz�5}|j|jd�|jdt|d��t|ddtd�ddd�tttdttz�5}|jdt|d��ddd�t!tttd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�IxYw#t!tttd�wxYw)Nrr�32KEYc�D�tttdttz�Sr8)r9r4�test_reflect_key_namer~�KEY_WOW64_64KEYr/r$r"r|z2Win64WinregTests.test_reflection.<locals>.<lambda>�s��G�,=�,A�1�,4��,F�%Hr$�64KEY)rpr4r�r:�KEY_WOW64_32KEYr�rHr9rJrGr�r;r�rLr_r~r�)r!�created_keyrT�	open_fails    r"�test_reflectionz Win64WinregTests.test_reflection�s���$	,��.�0E�q�+�o�=�?�BM��#�#�K�$6�$6��:��.�0E�q�+�o�=�?�BE��'�'��
�
�A�6�?�
�;��A�v�w�?�H�	��!�!�'�9�5�#?�(�*�,A�1�'�/�9�;�>A��#�#�C�J�J��2�� � ��*�S�"�*=�>��3��A�v�w�7�
;��*�,A�1�!�O�3�5�8;�� � ��*�S�"�*=�>�5�
�)�+@�'��
,�;?�?��?�?��(;�;��5�5��
�)�+@�'��
,�sk�!G�>F�!F�>4F�2)G�AF)�')G�F5�-G�F	�F�F&�"G�)F2�.G�5F>�:G�Gc�z�	tttdttz�5}t|�}|j
t|�t�|j|�t|�|jt|��ddd�d�}|jt|�tttdttz�5}|j!|j"d�ddd�t%tttd�y#1swY��xYw#1swY�0xYw#t%tttd�wxYw)Nrc�D�tttdttz�Sr8)rqr4r�r~r�r/r$r"r|z:Win64WinregTests.test_disable_reflection.<locals>.<lambda>�s��	�*;�*?��*2�_�*D�!Fr$)rpr4r�r:r�r�rLr��bool�assertFalser�rr�r;rqr~r�rHr�)r!r��disabledr�rTs     r"�test_disable_reflectionz(Win64WinregTests.test_disable_reflection�s���	,��.�0E�q�+�o�=�?�BM�-�k�:��� � ��h���6�� � ��*�$�[�1���� 2�;� ?�@�?�F�I�
���g�y�1��,�.C�Q�#�o�5�7�:=��#�#�C�J�J��2�7�
�)�+@�'��
,�/?�?��&7�7��
�)�+@�'��
,�s<�!D�A!D�AD�D�#D�D�D�D�D�D:c�x�|jt�5}ttd�ddd�y#1swYyxYw)N�some_value_that_does_not_exist)r�r�r_�HKEY_CLASSES_ROOT)r!�ctxs  r"�test_exception_numbersz'Win64WinregTests.test_exception_numberss+��
�
�
�0�
1�S��(�*J�K�2�
1�
1�s�0�9N)
r,r-r.r�r��skipIfrr�r��HAS_REFLECTIONr�rr
r/r$r"r�r��s���7��X�_�_�]�_�(L�L�Ny�z�5�{�5��X����)H�I�),�J�),�V�X����)H�I�,�J�,�:Lr$r��__main__z)Remote registry calls can be tested usingz('test_winreg.py --remote \\machine_name'),rr��sysr�r�r��platformrr�test.supportrr�
import_moduler�argvrcr��
IndexError�
ValueError�getwindowsversionr��
WIN64_MACHINEr�getpid�
test_key_baser5r�r�r�rG�
REG_EXPAND_SZ�REG_MULTI_SZr�rI�TestCaserr1rvr�r�r�r,�print�mainr/r$r"�<module>rs$��
�����+�4��
���H�5�'�:����(�(�3�8�8�>�>�*�5�a�7�8�K�
 �#�
�
�
!�"�1�
%���	�W�,��%�
�!�6�)��u��3�i�b�i�i�k�^�C�
��}�,�
�-�
�=���b�y�I��(�y�I��&�v�F��*�}�M��8�|�L��&�|�L��'�z�J��c�7�m�v�F��d�E�l�z�J���V�,�
�	��!�H�%�%�!��!�R.�h�'�'�R.�jF8��F8�R����[�"B�C�#��#�D�#�����]�$A�B�_L��_L�C�_L�D�z���
�9�:�	<��H�M�M�O�	��o	�J����K��s�+F�	F�F

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists