a
    a                     @   sH   d dl mZ d dlmZmZ d dlmZ dZdZdZ	G dd deZ
d	S )
    )print_function)BlackboxTestCaseBlackboxProcessError)	Messagingzbin/smbcontrolZpingz
pool-usagec                       s,   e Zd Z fddZdd Zdd Z  ZS )SmbcontrolBlackboxTestsc                    s&   t t|   |  }t|d| _d S )N)lp_ctx)superr   setUpZget_loadparmr   msg_ctx)selfr   	__class__ A/usr/lib/python3/dist-packages/samba/tests/blackbox/smbcontrol.pyr	      s    zSmbcontrolBlackboxTests.setUpc                 C   s   | j  }|s| d dS )z
        Test that the expected samba processes are running, currently we only
        check that at least one process is running
        zNo samba processes returnedN)r
   irpc_all_serversZfail)r   	processesr   r   r   test_expected_processes"   s    
z/SmbcontrolBlackboxTests.test_expected_processesc                 C   s   | j  }|D ]}|jD ]}|jdkrz$| jdt|jtf d|j d W q ty } zrd}| j  }|D ],}|j|jkrld}|jdd |jD v rl ql|s t	d	|  t	d
 W Y d}~qW Y d}~qd}~0 0 qqdS )z/Test that all the samba processes can be pingedZsambaz%s %d %sztrying to ping %s)msgFTc                 S   s   g | ]
}|j qS r   )pid).0xr   r   r   
<listcomp>G       z5SmbcontrolBlackboxTests.test_ping.<locals>.<listcomp>zIgnoring error %s:z)the process probably died before our pingN)
r
   r   ZidsnameZ	check_runCOMMANDr   PINGr   print)r   r   pideZname_existsZsurviving_processesqr   r   r   	test_ping+   s*    




z!SmbcontrolBlackboxTests.test_ping)__name__
__module____qualname__r	   r   r!   __classcell__r   r   r   r   r      s   	r   N)Z
__future__r   Zsamba.testsr   r   Zsamba.messagingr   r   r   ZUSAGEr   r   r   r   r   <module>   s   