Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_timeit.cpython-35.pyc



��Yfn6�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	dZ
dZGdd�d�ZGd	d
�d
ej
�Zedkr�ej�dS)�N)�dedent)�captured_stdout)�captured_stderri@B�c@sUeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	FakeTimergE@g�?cCs(d|_d|_||_|t_dS)Nr)�count�setup_calls�seconds_per_increment�timeit�_fake_timer)�selfr	�r
�5/opt/alt/python35/lib64/python3.5/test/test_timeit.py�__init__s			zFakeTimer.__init__cCs|j|j|jS)N)�	BASE_TIMErr	)rr
r
r�__call__szFakeTimer.__call__cCs|jd7_dS)N�)r)rr
r
r�inc"sz
FakeTimer.inccCs|jd7_dS)Nr)r)rr
r
r�setup%szFakeTimer.setupcCs
||_|S)z3Records 'timer' and returns self as callable timer.)�saved_timer)r�timerr
r
r�
wrap_timer(s	zFakeTimer.wrap_timerN)	�__name__�
__module__�__qualname__rrrrrrr
r
r
rrsrc@s}eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dZ
dZdd�Zdd�Z
dddd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zddd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<Z!d=ddd>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)dNdO�Z*dPdQ�Z+e,j-e.j/j0dRkdS�dTdU��Z1dVdW�Z2dXdY�Z3dZd[�Z4d\d]�Z5d^d_�Z6d`da�Z7dbdc�Z8dS)d�
TestTimeitcCs#y
t`Wntk
rYnXdS)N)r
r�AttributeError)rr
r
r�tearDown/s

zTestTimeit.tearDowncCs<|jtjdd�d�|jtjdd�d�dS)N�r�)�assertEqualr
�reindent)rr
r
r�test_reindent_empty5szTestTimeit.test_reindent_emptycCs<|jtjdd�d�|jtjdd�d�dS)N�passrr)r r
r!)rr
r
r�test_reindent_single9szTestTimeit.test_reindent_singlecCs<|jtjdd�d�|jtjdd�d�dS)Nz

rrz

    
    )r r
r!)rr
r
r�test_reindent_multi_empty=sz$TestTimeit.test_reindent_multi_emptycCs<|jtjdd�d�|jtjdd�d�dS)Nzprint()
pass
breakrrzprint()
    pass
    break)r r
r!)rr
r
r�test_reindent_multiAs		zTestTimeit.test_reindent_multicCs�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�dS)N�stmt�return�yieldz
yield from ()�break�continuezfrom timeit import *)�assertRaises�
ValueErrorr
�Timer�SyntaxError)rr
r
r�test_timer_invalid_stmtIsz"TestTimeit.test_timer_invalid_stmtcCs�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�|jttjdd�dS)Nrr(r)z
yield from ()r*r+zfrom timeit import *)r,r-r
r.r/)rr
r
r�test_timer_invalid_setupRsz#TestTimeit.test_timer_invalid_setupz(import timeit
timeit._fake_timer.setup()z&import timeit
timeit._fake_timer.inc()cCs|jj�dS)N)�
fake_timerr)rr
r
r�fake_callable_setup^szTestTimeit.fake_callable_setupcCs|jj�dS)N)r2r)rr
r
r�fake_callable_stmtaszTestTimeit.fake_callable_stmtNc	Cs�t�|_tjd|d|d|jd|�}i}|dkrNt}n
||d<|j|�}|j|jjd�|j|jj|�|j||�dS)Nr'rr�globals�numberr)rr2r
r.�DEFAULT_NUMBERr rr)rr'rr6r5�t�kwargs�
delta_timer
r
rr
ds		
zTestTimeit.timeitcCs |j|j|jdd�dS)Nr6r)r
�	fake_stmt�
fake_setup)rr
r
r�test_timeit_zero_itersvsz!TestTimeit.test_timeit_zero_iterscCs |j|j|jdd�dS)Nr6r)r
r;r<)rr
r
r�test_timeit_few_itersysz TestTimeit.test_timeit_few_iterscCs |j|j|jdd�dS)Nr6r)r
r4r<)rr
r
r�test_timeit_callable_stmt|sz$TestTimeit.test_timeit_callable_stmtcCs |j|j|jdd�dS)Nr6r)r
r;r3)rr
r
r�test_timeit_callable_setupsz%TestTimeit.test_timeit_callable_setupcCs |j|j|jdd�dS)Nr6r)r
r4r3)rr
r
r�#test_timeit_callable_stmt_and_setup�sz.TestTimeit.test_timeit_callable_stmt_and_setupcCs;tj|j|jdddt��}|j|d�dS)Nr6rr)r
r;r<rr )rr:r
r
r�test_timeit_function_zero_iters�sz*TestTimeit.test_timeit_function_zero_itersc	Cs�t�atjdddt�}|jt|jdd�tjdddtdt�dd�t�}tjddd|dt�dd�dS)Nr'z_global_timer.inc()rr6rr5zlocal_timer.inc())rZ
_global_timerr
r.r,�	NameErrorr5�locals)rr8Zlocal_timerr
r
r�test_timeit_globals_args�s		z#TestTimeit.test_timeit_globals_argscCs�t�|_tjd|d|d|j�}i}|dkrHt}n
||d<|dkrgt}n
||d<|j|�}|j|jj|�|j|jj	||�|j||t
|�g�dS)Nr'rr�repeatr6)rr2r
r.�DEFAULT_REPEATr7rFr rr�float)rr'rrFr6r8r9�delta_timesr
r
rrF�s!	
	
zTestTimeit.repeatcCs |j|j|jdd�dS)NrFr)rFr;r<)rr
r
r�test_repeat_zero_reps�sz TestTimeit.test_repeat_zero_repscCs |j|j|jdd�dS)Nr6r)rFr;r<)rr
r
r�test_repeat_zero_iters�sz!TestTimeit.test_repeat_zero_iterscCs&|j|j|jdddd�dS)NrFrr6�)rFr;r<)rr
r
r�test_repeat_few_reps_and_iters�sz)TestTimeit.test_repeat_few_reps_and_iterscCs&|j|j|jdddd�dS)NrFrr6rL)rFr4r<)rr
r
r�test_repeat_callable_stmt�sz$TestTimeit.test_repeat_callable_stmtcCs&|j|j|jdddd�dS)NrFrr6rL)rFr;r3)rr
r
r�test_repeat_callable_setup�sz%TestTimeit.test_repeat_callable_setupcCs&|j|j|jdddd�dS)NrFrr6rL)rFr4r3)rr
r
r�#test_repeat_callable_stmt_and_setup�sz.TestTimeit.test_repeat_callable_stmt_and_setupcCs;tj|j|jdddt��}|j|g�dS)NrFrr)r
rFr;r<rr )rrIr
r
r�test_repeat_function_zero_reps�sz)TestTimeit.test_repeat_function_zero_repscCsBtj|j|jdddt��}|j|tdg�dS)Nr6rrg)r
rFr;r<rr rG)rrIr
r
r�test_repeat_function_zero_iters�sz*TestTimeit.test_repeat_function_zero_iterscCsZ|j�}|jt|�d�|j|djd��|j|dj|��dS)N�rZ	Tracebackr���)�
splitlinesZ
assertGreater�lenZ
assertTrue�
startswith)rZ
exc_stringZexpected_exc_nameZ	exc_linesr
r
r�assert_exc_string�szTestTimeit.assert_exc_stringc	Cs[tj�}tjd�}y|j�Wn|j|�YnX|j|j�d�dS)Nz1/0�ZeroDivisionError)�io�StringIOr
r.�	print_excrX�getvalue)r�sr8r
r
r�test_print_exc�szTestTimeit.test_print_excz$10 loops, best of 3: 1 sec per loop
g�?cCs�|dkrtd|�}|dkr0g}n|dd�}|j|j�tjdd�}t�� }tjd|d|j�WdQRX|dd�tjdd�<|j	�S)Nr	�argsZ_wrap_timer)
r�appendr;�sys�pathrr
�mainrr])rr	�switchesrr`Z
orig_sys_pathr^r
r
r�run_main�s	 zTestTimeit.run_maincCs/|jddg�}|j|td��dS)Nrez--bad-switchzk            option --bad-switch not recognized
            use -h/--help for command line help
            )rfr r)rr^r
r
r�test_main_bad_switch�szTestTimeit.test_main_bad_switchcCs&|jdd�}|j|d�dS)Nr	g@z&10 loops, best of 3: 5.5 sec per loop
)rfr )rr^r
r
r�test_main_seconds�szTestTimeit.test_main_secondscCs&|jdd�}|j|d�dS)Nr	g�I+�v?z(100 loops, best of 3: 5.5 msec per loop
)rfr )rr^r
r
r�test_main_millisecondssz!TestTimeit.test_main_millisecondscCs/|jddddg�}|j|d�dS)Nr	g�h㈵��>rez-n100z(100 loops, best of 3: 2.5 usec per loop
)rfr )rr^r
r
r�test_main_microsecondssz!TestTimeit.test_main_microsecondscCs/|jddddg�}|j|d�dS)Nr	g@rez-n35z$35 loops, best of 3: 2 sec per loop
)rfr )rr^r
r
r�test_main_fixed_iters	sz TestTimeit.test_main_fixed_iterscCs=|jddddddg�}|j|ddd	�dS)
Nr	g@rez-n35z-szprint("CustomSetup")zCustomSetup
rz$35 loops, best of 3: 2 sec per loop
)rfr )rr^r
r
r�test_main_setup
szTestTimeit.test_main_setupc	CsC|jddddddddg�}|j|dd	d
�dS)Nr	g@rez-n35z-sza = "CustomSetup"zprint(a)zCustomSetup
rz$35 loops, best of 3: 2 sec per loop
)rfr )rr^r
r
r�test_main_multiple_setupssz$TestTimeit.test_main_multiple_setupscCs/|jddddg�}|j|d�dS)Nr	gN@rez-r9z%10 loops, best of 9: 60 sec per loop
)rfr )rr^r
r
r�test_main_fixed_repsszTestTimeit.test_main_fixed_repscCs/|jddddg�}|j|d�dS)Nr	gN@rez-r-5z%10 loops, best of 1: 60 sec per loop
)rfr )rr^r
r
r�test_main_negative_repssz"TestTimeit.test_main_negative_repsrSzneed __doc__cCs0|jddg�}|j|tjd�dS)Nrez-h� )rfr r
�__doc__)rr^r
r
r�test_main_help!szTestTimeit.test_main_helpcCsQt�}|jddgd|�}|j||j�|j|jtj�dS)Nrez-tr)rrfr �MAIN_DEFAULT_OUTPUT�assertIsr�time)rr2r^r
r
r�test_main_using_time(s	zTestTimeit.test_main_using_timecCsQt�}|jddgd|�}|j||j�|j|jtj�dS)Nrez-cr)rrfr rsrtrruZclock)rr2r^r
r
r�test_main_using_clock.s	z TestTimeit.test_main_using_clockcCs/|jddg�}|j|td��dS)Nrez-vz�                10 loops -> 10 secs
                raw times: 10 10 10
                10 loops, best of 3: 1 sec per loop
            )rfr r)rr^r
r
r�test_main_verbose4szTestTimeit.test_main_verbosecCs5|jddddg�}|j|td��dS)Nr	g-C��6
?rez-vva                10 loops -> 0.0005 secs
                100 loops -> 0.005 secs
                1000 loops -> 0.05 secs
                10000 loops -> 0.5 secs
                raw times: 0.5 0.5 0.5
                10000 loops, best of 3: 50 usec per loop
            )rfr r)rr^r
r
r�test_main_very_verbose<sz!TestTimeit.test_main_very_verbosec
Cs�|jdddddg�}|j|d�|jdddddg�}|j|d�|jddddd	g�}|j|d
�t��%}|jdddddg�}WdQRX|j|j�d�dS)
Nr	g����Mb`?rez-uZsecz*1000 loops, best of 3: 0.002 sec per loop
Zmsecz'1000 loops, best of 3: 2 msec per loop
Zusecz+1000 loops, best of 3: 2e+03 usec per loop
Zparsecz5Unrecognized unit. Please select usec, msec, or sec.
)rfr rr])rZunit_secZ	unit_msecZ	unit_usec�error_stringioZinvalidr
r
r�test_main_with_time_unitGs"			z#TestTimeit.test_main_with_time_unitc
CsBt��}|jddg�}WdQRX|j|j�d�dS)Nrez1/0rY)rrfrXr])rrzr^r
r
r�test_main_exception[szTestTimeit.test_main_exceptioncCsEt��}|jdddg�}WdQRX|j|j�d�dS)Nrez-n1z1/0rY)rrfrXr])rrzr^r
r
r�test_main_exception_fixed_reps`sz)TestTimeit.test_main_exception_fixed_reps)9rrrrr"r$r%r&r0r1r<r;r3r4r
r=r>r?r@rArBrErFrJrKrMrNrOrPrQrRrXr_rsrfrgrhrirjrkrlrmrnro�unittestZskipIfrb�flags�optimizerrrvrwrxryr{r|r}r
r
r
rr-sb		

	*r�__main__)r
r~rbrZru�textwraprZtest.supportrrr7rGrZTestCaserrrdr
r
r
r�<module>s�: