a }|g @ s d Z ddlZddlZddlZddlZddlmZ ddlZddlmZ ddl m Z ddlmZ zddlZW n ey~ dZY n0 dZG d d d e jZG dd de jZed kreeejdd eg dS )z!Tests for certbot._internal.lock. N)mock)errors)os)utilFTc @ s$ e Zd ZdZedd Zdd ZdS )LockDirTestz*Tests for certbot._internal.lock.lock_dir.c O s ddl m} ||i |S )Nr )lock_dir)certbot._internal.lockr )clsargskwargsr r E/usr/lib/python3.9/site-packages/certbot/_internal/tests/lock_test.py_call s zLockDirTest._callc C s8 t | jtj| j| j}tj | jd}t || d S )Nz .certbot.lock) functoolspartialassertRaisesr LockErrorr tempdirr pathjoin test_util lock_and_call)self assert_raises lock_pathr r r test_it s zLockDirTest.test_itN)__name__ __module____qualname____doc__classmethodr r r r r r r s r c s~ e Zd ZdZedd Z fddZdd Zdd Zd d Z dd Z dd Ze ddd Zdd Zdd Zdd Z ZS )LockFileTestz*Tests for certbot._internal.lock.LockFile.c O s ddl m} ||i |S )Nr )LockFile)r r" )r r r r" r r r r ( s zLockFileTest._callc s t tj| jd| _d S )Nz test.lock)supersetUpr r r r r )r __class__r r r$ - s zLockFileTest.setUpc C s0 t j| j| jfd}| | | d S )N)targetr )multiprocessingZProcessr r startr test_removed)r childr r r test_acquire_without_deletion1 s z*LockFileTest.test_acquire_without_deletionc C s* t | jtj| j| j}t|| j d S N) r r r r r r r r r )r r r r r test_contention= s zLockFileTest.test_contentionc C s<