File: //usr/local/lib/python3.7/test/__pycache__/test_sched.cpython-37.pyc
B
��g� � @ sl d dl Z d dlZd dlZd dlZd dlZd dlmZ dZG dd� d�ZG dd� dej �Z e
dkrhe�� dS ) � N)�support�
c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S )
�Timerc C s t �� | _d| _d| _d S )Nr )� threadingZ Condition�_cond�_time�_stop)�self� r
�+/usr/local/lib/python3.7/test/test_sched.py�__init__
s
zTimer.__init__c C s | j � | jS Q R X d S )N)r r )r r
r
r �time s z
Timer.timec C sT |dkst �| j�8 || j7 }x | j|k r>| j| _| j�� q W || _W d Q R X d S )Nr )�AssertionErrorr r r �wait)r �tr
r
r �sleep s
zTimer.sleepc C s: |dkst �| j� | j|7 _| j�� W d Q R X d S )Nr )r r r Z
notify_all)r r r
r
r �advance! s z
Timer.advanceN)�__name__�
__module__�__qualname__r r
r r r
r
r
r r s
r c @ s\ e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� ZdS )�TestCasec sb g � � fdd�}t �tjtj�}xdD ]}|�|d||f�}q&W |�� | �� ddddd g� d S )
Nc s
� � | �S )N)�append)�x)�lr
r �<lambda>, � z%TestCase.test_enter.<locals>.<lambda>)g �?g�������?g333333�?g�������?g�������?� g�������?g�������?g333333�?g�������?g �?)�sched� schedulerr
r �enter�run�assertEqual)r �funr r �zr
)r r �
test_enter* s
zTestCase.test_enterc sb g � � fdd�}t �tjtj�}xdD ]}|�|d||f�}q&W |�� | �� ddddd g� d S )
Nc s
� � | �S )N)r )r )r r
r r 5 r z(TestCase.test_enterabs.<locals>.<lambda>)g�������?g{�G�z�?g���Q��?g{�G�z�?g{�G�z�?r g{�G�z�?g{�G�z�?g���Q��?g{�G�z�?g�������?)r r r
r �enterabsr r! )r r"