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__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_dbm_dumb.cpython-38.pyc
U

>��gt*�@s�dZddlZddlZddlZddlZddlZddlZddlmZ	ddl
mZddlm
Z
ejZdd�ZGdd�dej�Zed	kr�e��dS)
zATest script for the dumbdbm module
   Original by Roger E. Masse
�N)�support)�partialc	Cs6dD],}zt�t|�Wqtk
r.YqXqdS)N��.dir�.dat�.bak)�os�unlink�_fname�OSError)�ext�r
�1/opt/cppython/lib/python3.8/test/test_dbm_dumb.py�
_delete_filess
rc@s&eZdZddddddddd	d
ddd
dd�d�diZdd�Ze�ee	d�d�dd��Z
dd�Zdd�Zdd�Z
dd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Zd@dA�Ze�e j!dB�dCdD��Z"dEdF�Z#dGdH�Z$dIS)J�DumbDBMTestCase�0��asPython:�bsProgramming�csthe�dsway�fsGuido�gsintended�ü�utf-8�!c	CsZt�t�td���>}|�t|���g�|jD]}|j|||<q.|�	|�W5QRXdS)N�c)
�
contextlib�closing�dumbdbm�openr
�assertEqual�list�keys�_dict�read_helper)�self�f�keyr
r
r�test_dumbdbm_creation#s

z%DumbDBMTestCase.test_dumbdbm_creation�umaskztest needs os.umask()c	Cs�z$t�d�}t�tdd�}|��W5t�|�Xd}tjdkrDd}ddl}t�td�}|�|�	|j
�|�t�td	�}|�|�	|j
�|�dS)
N�ri�i��posixi�rrr)rr*rr r
�close�name�statr!�S_IMODE�st_mode)r&Z	old_umaskr'Z
expected_moder/�str
r
r�test_dumbdbm_creation_mode*s

z*DumbDBMTestCase.test_dumbdbm_creation_modecCs6t�t�}d|d<|�|dd�|��|��dS)Nrr)rr r
r!r-�r&r'r
r
r�test_close_twice?s

z DumbDBMTestCase.test_close_twicec	Csj|��t�t�td���F}d|jd<|d<|�|�|�|�	dd�d�|�|dd�W5QRXdS)N�wsindentedr�xxx�foo)
�init_dbrrrr r
r$r%r!�
setdefaultr4r
r
r�test_dumbdbm_modificationFs
z)DumbDBMTestCase.test_dumbdbm_modificationc
Cs�|��t�t�td����}|�|�|�tjd��d|d<W5QRX|�tjd��|d=W5QRX|�	|�
d�|jd�|�	|�
dd�d�|�|�
d��|�
t��|dW5QRXW5QRXdS)N�rz'The database is opened for reading only�xrrr7r8)r9rrrr r
r%�assertRaisesRegex�errorr!�getr$ZassertIsNone�assertRaises�KeyErrorr4r
r
r�test_dumbdbm_readOs 
��z!DumbDBMTestCase.test_dumbdbm_readc	Cs2|��t�t�t���}|�|�}W5QRXdS�N)r9rrrr r
�keys_helper)r&r'r#r
r
r�test_dumbdbm_keys`sz!DumbDBMTestCase.test_dumbdbm_keysc	Cs4t�t�t���}d|d<|�d|�W5QRXdS)N�hello�1)rrrr r
�assertInr4r
r
r�test_write_containsesz#DumbDBMTestCase.test_write_containsc	Cs\t�t�t���}d|d<d|d<W5QRXt�t�t���}|�|dd�W5QRXdS)NrGrH�hello2)rrrr r
r!r4r
r
r�test_write_write_readjs
z%DumbDBMTestCase.test_write_write_readc	CsF|��t�t�td���"}|�|d|jd�d��W5QRXdS)Nr<rr)	r9rrrr r
r!r$�encoder4r
r
r�
test_str_readrszDumbDBMTestCase.test_str_readc	Cs�|��t�t�t���}d|d<d|d<W5QRXt�t�td���D}|�d|�|�|d�d�|j	d�d��|�|dd�W5QRXdS)	Nrr�a�1r<rrHr)
r9rrrr r
rIr!rMr$r4r
r
r�test_str_write_containsws�z'DumbDBMTestCase.test_str_write_containsc	Cs�t�t�t���}d|d<d|d<W5QRXt�tdd��}|��}W5QRXtjdkrh|�	dd	�}n|�	d	d�}t�tdd
��}|�
|�W5QRXt�t�}|�|dd�|�|dd�dS)NrGrHrK�2r�rb�
�
s
�wb)rrrr r
�io�readr�linesep�replace�writer!)r&r'�file�datar
r
r�test_line_endings�s

z!DumbDBMTestCase.test_line_endingscCs0|�|�}|jD]}|�|j|||�qdSrD)rEr$r!)r&r'r#r(r
r
rr%�s

zDumbDBMTestCase.read_helperc	Cs<t�t�td��� }|jD]}|j|||<qW5QRXdS�N�n)rrrr r
r$�r&r'�kr
r
rr9�s
zDumbDBMTestCase.init_dbcCs*t|���}t|j���}|�||�|SrD)�sortedr#r$r!)r&r'r#Zdkeysr
r
rrE�szDumbDBMTestCase.keys_helperc	
Cs�ddl}i}td�D]�}t�t�t���t}td�D]d}|�d�}|��dkrb||kr�||=||=q2|�d�|�d�}|||<|||<|�	|||�q2W5QRXt�t�t���4}t
dd	�|��D��}t
|���}|�	||�W5QRXqdS)
Nr��dZ
abcdefghijklmg�������?)rrri'css |]\}}|�d�|fVqdS)zlatin-1N)rM)�.0rb�vr
r
r�	<genexpr>�sz.DumbDBMTestCase.test_random.<locals>.<genexpr>)�random�rangerrrr r
�choice�	randranger!rc�items)	r&ri�d�dummyr'rbrgZexpectedZgotr
r
r�test_random�s$
zDumbDBMTestCase.test_randomc	Csrt�td��}d|d<W5QRXt�td��}|�t|���dg�W5QRX|�tj��|��W5QRXdS)Nrzcontext managerzdumbdbm context managerr<sdumbdbm context manager)rr r
r!r"r#rAr?)r&�dbr
r
r�test_context_manager�s z$DumbDBMTestCase.test_context_managerc
Cs�t�td�}|��ttj|�ttj|d�ttj|�ttj	|�fD]6}|�
tj��}|d�W5QRX|�t
|j�d�qBt�d�t�d�t�d�tfD]6}|�
tj��}||�W5QRX|�t
|j�d�q�dS)Nr�b�testz"DBM object has already been closedr#Ziterkeysrm)rr r
r-r�operator�delitem�setitem�getitem�containsrAr?r!�str�	exception�methodcaller�len)r&r'�meth�cmr
r
r�test_check_closed�s,


����z!DumbDBMTestCase.test_check_closedc	Cs^t�td�� }|jD]}|j|||<qW5QRXt�td��}|�|��g�W5QRXdSr_)rr r
r$r!r#rar
r
r�test_create_new�s

zDumbDBMTestCase.test_create_newcCsxttdd��}|�d�W5QRXt���B}|�t��t�t��}W5QRXW5QRX|�|�	�d�W5QRXdS)Nrr6zstr(print('Hacked!')), 0
�)
r r
r[rZcaptured_stdoutrA�
ValueErrorrr!�getvalue)r&�stream�stdoutr'r
r
r�	test_eval�s
zDumbDBMTestCase.test_evalc
CsbdD]X}t�|�t��t�t|�W5QRX|�tj�	td��|�tj�	td��qdS)N�r<r6rr)
rrA�FileNotFoundErrorrr r
�assertFalser�path�exists)r&�valuer
r
r�test_missing_data�sz!DumbDBMTestCase.test_missing_datac
Cs�t�td��}W5QRXt�td�dD]R}|�t��t�t|�W5QRX|�tj�	td��|�tj�	td��q*dS)Nr`rr�r)
rr r
rr	rAr�r�r�r�)r&r'r�r
r
r�test_missing_index�s
z"DumbDBMTestCase.test_missing_indexc
Cs2dD](}|�td��t�t|�W5QRXqdS)N)�xZrfNz)Flag must be one of 'r', 'w', 'c', or 'n')r>r�rr r
)r&�flagr
r
r�test_invalid_flags
�z!DumbDBMTestCase.test_invalid_flagc
Cs�t����}tj�|d�}t�|d��4}|�t|�	��g�|j
D]}|j
|||<q@W5QRXt�|dtj
�t�|dtj
�t�|tj
tjB�t�|d��(}|�t|�	��t|j
��|��W5QRXW5QRXdS)Nrqr`rrr<)rZtemp_dirrr��joinrr r!r"r#r$�chmodr/�S_IRUSR�S_IXUSRrcr-)r&�dirZfnamer'r(r
r
r�test_readonly_files
s

z#DumbDBMTestCase.test_readonly_filesz*requires OS support of non-ASCII encodingsc	Cs�tj}dD]}|�tj||�q
t�|d��}d|d<W5QRX|�tj�	|d��|�tj�	|d��t�|d��:}|�
t|���dg�|�d|k�|�
|dd�W5QRXdS)Nrrsvalueskeyrrr<)
r�TESTFN_NONASCIIZ
addCleanupr	rr Z
assertTruerr�r�r!r"r#)r&�filename�suffixrqr
r
r�test_nonascii_filenamesz&DumbDBMTestCase.test_nonascii_filenamecCs
t�dSrD�r�r&r
r
r�tearDown'szDumbDBMTestCase.tearDowncCs
t�dSrDr�r�r
r
r�setUp*szDumbDBMTestCase.setUpN)%�__name__�
__module__�__qualname__rMr$r)�unittestZ
skipUnless�hasattrrr3r5r;rCrFrJrLrNrQr^r%r9rErprrr�r�r�r�r�r�r�rr�r�r�r�r
r
r
rrs\�

	
	
�

r�__main__)�__doc__rrWrurr/r�Zdbm.dumbZdumbrrtr�	functoolsrZTESTFNr
rZTestCaserr��mainr
r
r
r�<module>s 

F1le Man4ger