a
    a,                     @   sL   d dl mZ d dlZd dlmZmZ d dlmZ dZdZ	G dd deZ
dS )	    )print_functionN)BlackboxTestCaseBlackboxProcessError)	Messagingzbin/smbcontrolZpingc                       s<   e Zd Z fddZdd Zdd Zdd Zd	d
 Z  ZS )SmbcontrolProcessBlockboxTestsc                    s&   t t|   |  }t|d| _d S )N)lp_ctx)superr   setUpZget_loadparmr   msg_ctx)selfr   	__class__ I/usr/lib/python3/dist-packages/samba/tests/blackbox/smbcontrol_process.pyr	   !   s    z$SmbcontrolProcessBlockboxTests.setUpc                 C   s:   | j  }g }|D ]"}|jD ]}||j|jf qq|S N)r
   Zirpc_all_serversZidsappendnamepid)r   Zservices	processesZserviceidr   r   r   get_process_data&   s    

z/SmbcontrolProcessBlockboxTests.get_process_datac                 C   s*   |   }|D ]\}}||kr|  S qd S r   )r   )r   r   r   Zpnamer   r   r   r   get_process/   s
    
z*SmbcontrolProcessBlockboxTests.get_processc              
   C   s  d}d}|  d}z| jdt|tf dd W n. ty\ } z| d W Y d }~n
d }~0 0 z| jdt|||f d	d W n6 ty } zt| | d
 W Y d }~n
d }~0 0 z&| jdt|tf dd | d W n$ ty } zW Y d }~n
d }~0 0 d S )NZinjectZsegvZ
rpc_server%s %s %strying to ping rpc_servermsg!Unable to ping rpc_server process%s %s %s %szinjecting fault into rpc_serverz4Unable to inject a fault into the rpc_server processzCould ping rpc_server process)r   	check_runCOMMANDPINGr   failprint)r   ZINJECTZFAULTr   er   r   r   test_inject_fault6   s.    

 
 z0SmbcontrolProcessBlockboxTests.test_inject_faultc           	   
   C   s:  d}d}d}|  d}z| jdt|tf dd W n. ty` } z| d W Y d }~n
d }~0 0 t }z"| jd	t|||f d
| d W n: ty } z"t| | d|  W Y d }~n
d }~0 0 z<| jdt|tf dd t }|| }| || | W n0 ty4 } z| d W Y d }~n
d }~0 0 d S )Nsleep      Zldap_serverr   r   r   r   r   z"putting rpc_server to sleep for %dz(Failed to get rpc_server to sleep for %d)	r   r   r   r    r   r!   timer"   ZassertGreater)	r   ZSLEEPZDURATIONZDELTAr   r#   startendZdurationr   r   r   
test_sleep\   s6    

 
$z)SmbcontrolProcessBlockboxTests.test_sleep)	__name__
__module____qualname__r	   r   r   r$   r+   __classcell__r   r   r   r   r      s
   	&r   )Z
__future__r   r(   Zsamba.testsr   r   Zsamba.messagingr   r   r    r   r   r   r   r   <module>   s   