Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_dbm_gnu.cpython-39.opt-1.pyc

a

XC?h��@sdddlmZe�d�ZddlZddlZddlmZmZm	Z	eZ
Gdd�dej�Ze
dkr`e��dS)�)�supportzdbm.gnuN)�TESTFN�TESTFN_NONASCII�unlinkc@s�eZdZedd��Zdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
dd�Ze�ed�dd��Zdd�ZdS)�TestGdbmcCs<tjr8zddlm}Wnty(Yn0td|���dS)Nr)�
_GDBM_VERSIONzgdbm version: )r�verboseZ_gdbmr�ImportError�print)�version�r�6/opt/alt/python39/lib64/python3.9/test/test_dbm_gnu.py�
setUpClassszTestGdbm.setUpClasscCs
d|_dS�N��g��selfrrr
�setUpszTestGdbm.setUpcCs |jdur|j��tt�dSr)r�closer�filenamerrrr
�tearDowns

zTestGdbm.tearDowncCs^t�td�|_|�|j��g�d|jd<d|jd<d|jd<t|j���}|�|tgd���|�d|j�|�d	|j�|�|jdd�|j��}|r�|�||�|�	|�|j�
|�}q�|�|j�d	�d
�|�|j�d��|�|j�dd�d�|�
t��|jd
Wd�n1�s(0Y|�|j�dd�d�|�|jdd�dS)N�c�b�aZ019237410982340912840198242Z12345678910sdata�bytes)�ars12345678910r�bsxxxsfooZxxx)�gdbm�openrr�assertEqual�keys�set�assertInZfirstkey�removeZnextkey�getZassertIsNone�assertRaises�KeyError�
setdefault)rZkey_set�keyrrr
�test_key_methodss,




*zTestGdbm.test_key_methodscs`tt���tjtjtd�t�td��_�j����tj�fdd����tjdd��dS)N�rrcs
�jdS)Nrrrrrr
�<lambda>=�z0TestGdbm.test_error_conditions.<locals>.<lambda>cSst�td���S)NZrx)rrrrrrrr
r,?r-)rrr&r�errorrrrrrrr
�test_error_conditions6s
zTestGdbm.test_error_conditionscCs|ttj�}|td�}t|�D]}t�t|�|_|j��q|td�}|D]*}|D] }t�t||�|_|j��qTqLdS)NZfsuZcrwn)r"rZ
open_flags�sortedrrrr)r�allZmodes�mode�flags�flagrrr
�
test_flagsAs
zTestGdbm.test_flagscCs�t�td�|_tj�t�}t|d�}d||jd<tj�t�}|�||�|jd=|�	tj�t�|�|j�
�tj�t�}|�||�|�||�dS)Nri'�x)
rrrr�os�path�getsize�maxZ
assertGreaterr Z
reorganizeZ
assertLessZassertGreaterEqual)rZsize0Z
value_sizeZsize1Zsize2rrr
�test_reorganizeQs

zTestGdbm.test_reorganizecCs�t�td��}d|d<Wd�n1s*0Yt�td��&}|�t|���dg�Wd�n1sl0Y|�tj��}|��Wd�n1s�0Y|�t|j	�d�dS)Nrzcontext managerzgdbm context managerr+sgdbm context managerz#GDBM object has already been closed)
rrrr �listr!r&r.�str�	exception)r�db�cmrrr
�test_context_managerfs&4&�zTestGdbm.test_context_managercCs�t�td��}d|d<Wd�n1s*0Yt�td��D}|�t|���dg�|�d|v�|�|dd�Wd�n1s�0YdS)Nrs
bytes value �sbytes key �r+)rrrr r<r!�
assertTrue�rr?rrr
�
test_bytesrs&zTestGdbm.test_bytescCs�t�td��}d|d<Wd�n1s*0Yt�td��v}|�t|���d��g�|�d��|v�|�d|v�|�|d��d���|�|dd���Wd�n1s�0YdS)NruUnicode value 🐍uUnicode key 🐍r+)rrrr r<r!�encoderBrCrrr
�test_unicodezs&�
�zTestGdbm.test_unicodec	Cs�t�td��}d|d<Wd�n1s*0Yt�td���}|�tj��|d=Wd�n1sj0Y|�tj��|d=Wd�n1s�0Y|�tj��d|d<Wd�n1s�0YWd�n1s�0YdS)Nrsbytes values	bytes keyr+s
not exist keysnot exist value)rrrr&r.rCrrr
�test_write_readonly_file�s&$$z!TestGdbm.test_write_readonly_filez*requires OS support of non-ASCII encodingscCs�t}|�t|�t�|d��}d|d<Wd�n1s:0Y|�tj�|��t�|d��D}|�	t
|���dg�|�d|v�|�	|dd�Wd�n1s�0YdS)Nrsvalueskeyr+)rZ
addCleanuprrrrBr7r8�existsr r<r!)rrr?rrr
�test_nonascii_filename�s&zTestGdbm.test_nonascii_filenamecCs`d}|�tj��}t�|�Wd�n1s00Y|�|t|j��|�|jj|�dS)Nznonexisting-file)	r&rr.rr#r=r>r r)rZnonexisting_filer@rrr
�test_nonexisting_file�s
(zTestGdbm.test_nonexisting_fileN)�__name__�
__module__�__qualname__�staticmethodrrrr*r/r5r;rArDrFrG�unittestZ
skipUnlessrrIrJrrrr
r
s"
	�
r�__main__)�testr�
import_modulerrOr7Ztest.supportrrrrZTestCaserrK�mainrrrr
�<module>s