Your IP : 216.73.216.60


Current Path : /opt/alt/python38/lib64/python3.8/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/__pycache__/test_dbm_gnu.cpython-38.opt-1.pyc

U

i�f��@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>tjr:zddlm}Wntk
r*YnXtd|���dS)Nr)�
_GDBM_VERSIONzgdbm version: )r�verboseZ_gdbmr�ImportError�print)�version�r�6/opt/alt/python38/lib64/python3.8/test/test_dbm_gnu.py�
setUpClassszTestGdbm.setUpClasscCs
d|_dS�N��g��selfrrr
�setUpszTestGdbm.setUpcCs |jdk	r|j��tt�dSr)r�closer�filenamerrrr
�tearDowns

zTestGdbm.tearDownc	CsJt�td�|_|�|j��g�d|jd<d|jd<d|jd<t|j���}|�|tddd	g��|�d|j�|�d|j�|�|jdd�|j��}|r�|�||�|�	|�|j�
|�}q�|�|j�d�d
�|�|j�d��|�|j�dd�d�|�
t��|jd
W5QRX|�|j�dd�d�|�|jdd�dS)N�c�b�aZ019237410982340912840198242Z12345678910sdatasbytes�as12345678910�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
assertGreaterrZ
reorganizeZ
assertLessZassertGreaterEqual)rZsize0Z
value_sizeZsize1Zsize2rrr
�test_reorganizeQs

zTestGdbm.test_reorganizec	Cs�t�td��}d|d<W5QRXt�td��}|�t|���dg�W5QRX|�tj��}|��W5QRX|�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 �zTestGdbm.test_context_managerc	Cspt�td��}d|d<W5QRXt�td��:}|�t|���dg�|�d|k�|�|dd�W5QRXdS)Nrs
bytes value �sbytes key �r*)rrrrr;r �
assertTrue�rr>rrr
�
test_bytesrszTestGdbm.test_bytesc	Cs�t�td��}d|d<W5QRXt�td��l}|�t|���d��g�|�d��|k�|�d|k�|�|d��d���|�|dd���W5QRXdS)NruUnicode value 🐍uUnicode key 🐍r*)rrrrr;r �encoderArBrrr
�test_unicodezs�
�zTestGdbm.test_unicodec
Cs�t�td��}d|d<W5QRXt�td��b}|�tj��|d=W5QRX|�tj��|d=W5QRX|�tj��d|d<W5QRXW5QRXdS)Nrsbytes values	bytes keyr*s
not exist keysnot exist value)rrrr%r-rBrrr
�test_write_readonly_file�sz!TestGdbm.test_write_readonly_filez*requires OS support of non-ASCII encodingsc	Cs�t}|�t|�t�|d��}d|d<W5QRX|�tj�|��t�|d��:}|�	t
|���dg�|�d|k�|�	|dd�W5QRXdS)Nrsvalueskeyr*)rZ
addCleanuprrrrAr6r7�existsrr;r )rrr>rrr
�test_nonascii_filename�szTestGdbm.test_nonascii_filenamec	CsLd}|�tj��}t�|�W5QRX|�|t|j��|�|jj|�dS)Nznonexisting-file)	r%rr-rr"r<r=rr)rZnonexisting_filer?rrr
�test_nonexisting_file�s
zTestGdbm.test_nonexisting_fileN)�__name__�
__module__�__qualname__�staticmethodrrrr)r.r4r:r@rCrErF�unittestZ
skipUnlessrrHrIrrrr
r
s"
	�
r�__main__)Ztestr�
import_modulerrNr6Ztest.supportrrrrZTestCaserrJ�mainrrrr
�<module>s