File: //proc/self/root/usr/share/doc/python3-pycurl/tests/__pycache__/multi_timer_test.cpython-36.pyc
3
�[�
� @ s� d dl mZ ddlZddlZd dl mZ d dl mZ ejd�\ZZejd�\Z Z
ejd�\ZZd
d� Z
dd
� ZG dd� dej�ZdS )� )� localhost� N)�
appmanager)�util�app� � � c C s t | � t| � t| � d S )N)�setup_module_1�setup_module_2�setup_module_3)�mod� r �?/builddir/build/BUILD/pycurl-7.43.0.2/tests/multi_timer_test.py�setup_module s r c C s t | � t| � t| � d S )N)�teardown_module_3�teardown_module_2�teardown_module_1)r
r r r �teardown_module s r c @ s e Zd Zdd� ZdS )�MultiSocketTestc s� dt dt dt g}g � � fdd�}tj� }|jtj|� g |_xb|D ]Z}tj� }||_tj � |_
d|_|jj|� |j|j
|j� |j|j|j
j� |j|� qHW t|j�}x0|r�x&|j� \}}|tjkr�P |jd� q�W q�W x|jD ]}|j|j�|_q�W x4|jD ]*}| jd|j
j� j� � | jd |j� �qW t� �d
k�sHt�� d
d
k�sZt�x"|jD ]}|j|� |j� �qbW |j� d S )Nzhttp://%s:8380/successzhttp://%s:8381/successzhttp://%s:8382/successc s � j | � d S )N)�append)�msecs)�timersr r �timer% s z/MultiSocketTest.test_multi_timer.<locals>.timerr g �?�success�� r ���)r �pycurl� CurlMulti�setoptZM_TIMERFUNCTION�handlesr �DefaultCurl�url�BytesIO�body� http_coder �URL�
WRITEFUNCTION�write�
add_handle�len�perform�E_CALL_MULTI_PERFORM�select�getinfo� HTTP_CODE�assertEqual�getvalue�decode�AssertionError�
remove_handle�close)�self�urlsr �mr"