|
Server : LiteSpeed System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64 User : nandedex ( 1060) PHP Version : 8.1.33 Disable Function : NONE Directory : /opt/cppython/lib/python3.8/test/__pycache__/ |
U
>��g�U � @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlmZm Z ej
ddgd� d dlT zejej�
d�d ZW n eefk
r� dZY nX e�� dd
� Ze� dkr�dnd
Zedk r�dnd
Zde �� f Zde Zde Zddefddefddefddefdddddgefdd d d d gefd!d"efd#d$d% efd&d'd( efd)d*efg
ZG d+d,� d,ej �Z!G d-d.� d.e!�Z"e�#ed/�G d0d1� d1e!��Z$e�#ed2�G d3d4� d4e!��Z%d5d6� Z&e'd7k�r�e�s�e(d8d9� e&� dS ):� N)�support)�machine�
win32_edition�winreg�win)Zrequired_on)�*z--remote� � ZAMD64TF)� r z Python Test Key [%d] - Delete Mez SOFTWARE\zSOFTWARE\Classes\z Int Value�- zQword Valuel �w�*M z
String ValzA string valueZStringExpandzThe path is %path%zMulti-stringZLotsZof�string�valuesz Multi-nul� zRaw Datas binary dataz
Big String�xi�? z
Big Binary� xi @ u Japanese 日本u 日本語c @ sT e Zd Zdd� Zdd� Zdefdd�Zdefdd �Zdd
d�Z ddd
�Z
dd� ZdS )�BaseWinregTestsc C s | � tt� d S �N)�delete_tree�HKEY_CURRENT_USER�
test_key_name��self� r �//opt/cppython/lib/python3.8/test/test_winreg.py�setUp6 s zBaseWinregTests.setUpc C sv zt ||dt�}W n tk
r( Y d S X zt|d�}W n tk
rP Y q`Y nX | �||� q*t|� t||� d S �Nr )�OpenKey�KEY_ALL_ACCESS�OSError�EnumKeyr �CloseKey� DeleteKey)r �rootZsubkey�hkeyZ subsubkeyr r r r ; s
zBaseWinregTests.delete_tree�sub_keyc C s( t |ttd� ||t�}| �|jdk� |||�}tD ]\}}}t||d||� q6t|�\} }
}| �| dd� | �|
dd� t|�\} }
}| �| dd� | �|
t t�d� t
|�}t|� zt|� | �d� W n t
k
r� Y nX t
|�}
|�� zt|
� | �d� W n t
k
�r" Y nX d S )N�
Default valuer r z"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!)�SetValuer �REG_SZ�
assertTrue�handle� test_data�
SetValueEx�QueryInfoKey�assertEqual�len�intr �failr �Close)r �root_key� subkeystr� CreateKey�keyr$ �
value_name�
value_data�
value_type�nkeys�nvalues� since_modZint_sub_keyZint_keyr r r �_write_test_dataK s8
�z BaseWinregTests._write_test_datac C s( t |t�}| �|dd� ||t�}|||���}d}zt||�}W n tk
rX Y qvY nX | �|tkdd� |d }q2| �|tt�d� tD ]4\} }
}t|| �\}}
| �||
d� | �|
|d� q�W 5 Q R X |�� t |d�}| �||d � zt |d� | �
d
� W n tk
�r Y nX |�� d S )Nr% z+Registry didn't give back the correct valuer Tz&Didn't read back the correct test datar z'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!)�
QueryValuer r- � EnumValuer r* r. �QueryValueExr1 r r0 )r r2 r3 r �valr5 r$ �index�datar6 r7 r8 Zread_valZread_typr r r �_read_test_datau sF
�
�
���
zBaseWinregTests._read_test_datac C s� t |tdt�}t ||dt�}tD ]\}}}t||� q t|�\}} }
| �|dd� | �| dd� |�� t||� zt||� | � d� W n t
k
r� Y nX |�� t|t� zt |t�}| � d� W n t
k
r� Y nX d S )Nr zsubkey not empty before deletez Deleting the key twice succeededzCould open the non-existent key)r r r r* ZDeleteValuer, r- r1 r! r0 r )r r2 r3 r5 r$ r6 r7 r8 r9 r: r; r r r �_delete_test_data� s*
z!BaseWinregTests._delete_test_datac C s( | � ||� | �||� | �||� d S r )r<