U
    be                     @   s   d dl Zd dlZd dlZd dlZdd Zejdddd Zejdddd	 Zejddd
d Z	ejdddd Z
ejdddd Zejdddd Zejdddd Zejdddd Zejdddd Zdd ZdS )    Nc                 C   s   | j ddddd | j ddddd | j d	ddd
d | j ddddd | j ddddd | j ddddd | j ddddd d S )Nz--serverstore	localhostzmemcached server)actiondefaulthelpz--portZ11211zmemcached server portz--tls-serverzTLS memcached serverz
--tls-portZ11212zTLS memcached server portz--sizei   zsize of data in benchmarksz--counti'  z*number of iterations to run each benchmarkz--keys   z*number of keys to use for multi benchmarks)Z	addoption)parser r	   Z/var/www/html/services/stratfitenv/lib/python3.8/site-packages/pymemcache/test/conftest.pypytest_addoption   sT                   r   session)scopec                 C   s
   | j jjS N)configoptionserverrequestr	   r	   r
   host,   s    r   c                 C   s   t | jjjS r   )intr   r   portr   r	   r	   r
   r   1   s    r   c                 C   s
   | j jjS r   )r   r   Z
tls_serverr   r	   r	   r
   tls_host6   s    r   c                 C   s   t | jjjS r   )r   r   r   tls_portr   r	   r	   r
   r   ;   s    r   c                 C   s   t | jjjS r   )r   r   r   sizer   r	   r	   r
   r   @   s    r   c                 C   s   t | jjjS r   )r   r   r   countr   r	   r	   r
   r   E   s    r   c                 C   s   t | jjjS r   )r   r   r   keysr   r	   r	   r
   r   J   s    r   c                    s    fddt |D S )Nc                    s   i | ]}d | d  qS )zpymemcache_test:%dXr	   ).0ir   r	   r
   
<dictcomp>Q   s      zpairs.<locals>.<dictcomp>)range)r   r   r	   r   r
   pairsO   s    r"   c                   C   s   t jtjtjtddS )Nzcerts/ca-root.crt)cafile)sslcreate_default_contextospathjoindirname__file__r	   r	   r	   r
   tls_contextT   s    r+   c                 C   s   d| j krTtg}zddlm} W n tk
r<   td Y nX || | d| d| j krddlm}m	} ddl
m} G dd	 d	|}| d|||g d
| j kr| jd}|rd
|jd kr| d
ddg d S )NZsocket_moduler   )socketzSkipping gevent (not installed)Zclient_class)ClientPooledClient)
HashClientc                       s   e Zd Z fddZ  ZS )z/pytest_generate_tests.<locals>.HashClientSinglec                    s   t  j|gf|| d S r   )super__init__)selfr   argskwargs	__class__r	   r
   r1   l   s    z8pytest_generate_tests.<locals>.HashClientSingle.__init__)__name__
__module____qualname__r1   __classcell__r	   r	   r5   r
   HashClientSinglek   s   r;   Z
key_prefixparametrize    s   prefix)Zfixturenamesr,   ZgeventImportErrorprintappendr<   Zpymemcache.client.baser-   r.   Zpymemcache.client.hashr/   Z
definitionZget_closest_markerr3   )ZmetafuncZsocket_modulesZgevent_socketr-   r.   r/   r;   markr	   r	   r
   pytest_generate_tests[   s"    



rB   )os.pathr&   r,   r$   Zpytestr   Zfixturer   r   r   r   r   r   r   r"   r+   rB   r	   r	   r	   r
   <module>   s.   $

















