File: //usr/lib/python3/dist-packages/samba/tests/__pycache__/dsdb_lock.cpython-310.pyc
o
�/a�. � @ sX d Z ddlmZ ddlmZ ddlZddlZddlZddlZddl Z G dd� de�Z
dS )zTests for samba's dsdb modules� )�
SamDBTestCase)�SamDBNc @ sT e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� ZdS )�DsdbLockTestCasec C s6 | j �� }t�� \}}t�� }|dkrV| ` t�� t| j| j d�| _ | j �
� dt|� }| j �|dd�� | j �
|� | j �� t�|d� t�d� | j �� t�d� | �t�|d�d� t�� }| j �� }|D ]}qkt�� } | �| | d � t�|d�\}
}| �|
|� | �t�|�� | �t�|�d� d S )
Nr ��session_info�lp�cn=test_db_lock_user,cn=users,�user��dn�objectclass� prepared� � �ffffff�?)�samdb�get_default_basedn�os�pipe�fork�gc�collectr �sessionr �transaction_start�str�add�delete�transaction_prepare_commit�write�time�sleep�transaction_cancel�_exit�assertEqual�read�search_iterator�
assertGreater�waitpid�
assertTrue� WIFEXITED�WEXITSTATUS)�self�basedn�r1�w1�pidr �start�res�l�end�got_pid�status� r6 �7/usr/lib/python3/dist-packages/samba/tests/dsdb_lock.py�
test_db_lock1 s@
�
�
zDsdbLockTestCase.test_db_lock1c C s\ | j �� }t�� \}}t�� \}}t�� }|dkru| ` t�� t| j| j d�| _ | j �
� }t�|d� t�|d�dkr@t�
d� t�|d� t�|d�d krSt�
d
� t�|d� t�d
� |D ]}q`t�|d�d
krpt�
d� t�
d� | �t�|d�d� | j �� t�|d� | �t�|d�d� dt|� } | j �| dd�� | j �| � t�|d � | �t�|d�d� t�� }
| j �� t�� }z<z
| �||
d� W n � W t�|d
� | j �� t�|d�\}}
| �||� | �t�|
�� | �t�|
�d� d S t�|d
� | j �� t�|d�\}}
| �||� | �t�|
�� | �t�|
�d� w )Nr r � start� � started� � add� � addedr � preparer r
� r r r
r )r r r r r r r r r r r% r r$ r"