a
    'fF                     @   s   d dl mZmZmZ d dlmZ e  d dlZd dlZd dl	m
Z d dlmZ d dlZd dl	mZ dd ZG dd	 d	ejZed
kre  dS )    )print_functiondivisionabsolute_import)monkeyN)test__socket)PY2c                 C   s,   t   }t| tj|| |dd}||fS )NT)server_side)socket	greentestZbind_and_listensslwrap_socket)Zprivate_keyZcertificateraw_listenersock r   d/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/gevent/tests/test__ssl.pyssl_listener   s    
r   c                       s   e Zd ZejejedZejejedZ	e
r>ejnejZdd Z fddZdZdd	  ZZed
ed
ejjZed
ed
ejjZeddd Zejed fddZejdd Z ejdd Z!  Z"S )TestSSLztest_server.crtztest_server.keyc                 C   s    t | j| j\}}| | |S N)r   privfilecertfile_close_on_teardown)selflistenerr   r   r   r   _setup_listener'   s    
zTestSSL._setup_listenerc                    s"   |  ttt| j|i |S r   )r   r   r   superr   create_connection)r   argskwargs	__class__r   r   r   ,   s    zTestSSL.create_connectionFs   helloi zSometimes misses datazNot clear why we're skippingc                    s   g t j fddd}  }|d zhttdtj} | | j	 W d    n1 sh0    Y  W |
  |  d d   n"|
  |  d d   0 d S )Nc                      s     j S r   )appendr   acceptr   r   Zserver_sockr   r   <lambda>J   s   z3TestSSL.test_ssl_sendall_timeout0.<locals>.<lambda>)targetFSSLWantWriteErrorr   )r   Threadr   setblockinggetattrr   SSLErrorassertRaisessendall_test_sendall_datajoinclose)r   Zacceptorclientexpectedr   r"   r   test_ssl_sendall_timeout0E   s    
,z!TestSSL.test_ssl_sendall_timeout0zNo longer raises SSLErrorc                    s>   |  tj tt|   W d    n1 s00    Y  d S r   )r*   r   r)   r   r   test_empty_sendr   r   r   r   r2   d   s    zTestSSL.test_empty_sendc                 C   s   d S r   r   r3   r   r   r   test_sendall_nonblockings   s    z TestSSL.test_sendall_nonblockingc                 C   s   d S r   r   r3   r   r   r   $test_connect_with_type_flags_ignoredx   s    z,TestSSL.test_connect_with_type_flags_ignored)#__name__
__module____qualname__ospathr-   dirname__file__r   r   r   r	   ZsslerrortimeoutZTIMEOUT_ERRORr   r   Z _test_sendall_timeout_check_timer,   Z	data_sentr
   ZskipOnMacOnCIZskipOnManylinuxr   TestTCPZtest_sendall_arrayZtest_sendall_strZskipOnWindowsr1   Zignores_leakcheckZskipOnPy310r2   r4   r5   __classcell__r   r   r   r   r      s4   	

r   __main__)
__future__r   r   r   Zgeventr   Z	patch_allr9   r	   Zgevent.testingtestingr
   Zgevent.testsr   r   r   r   r>   r   r6   mainr   r   r   r   <module>   s   h