
    -Ph!O                         d dl mZmZmZmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlZd dlmZ  G d de          Z G d	 d
e          ZdS )    )create_args_parserparse_args_raw
parse_argsparallel_compiles)Options)backup_Optionsrestore_Optionscheck_global_options)TestCaseN)StringIOc                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@d?S )@TestCythonizeArgsParserc                 Z    t          j        |            t                      fd| _        d S )Nc                 "    t          ||           S N)r   )xparsers     j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/Cython/Build/Tests/TestCythonizeArgsParser.py<lambda>z/TestCythonizeArgsParser.setUp.<locals>.<lambda>   s    .QWYZB[B[     )r   setUpr   r   selfs    r   r   zTestCythonizeArgsParser.setUp   s,    t+=+?+?[[[r   c                 @   g d}g d}|D ]E}t          t          ||                    dk    r"||vr|                     |dd|z               dS F|D ]4}t          ||          "||vr|                     |dd|z               dS 5|j        t          k    rd|vrdS d	S )
N)
directivescompile_time_envoptionsexcludes)	language_levelannotatebuildbuild_inplaceforcequietlenient
keep_goingno_docstringsr    zFor option msgFparallelT)lengetattrassertEqualr+   r   )r   r   skipempty_containersare_noneopt_names         r   are_defaultz#TestCythonizeArgsParser.are_default   s    TTT H  H  H( 	 	H77H--..11xt7K7K  "-2H IIIuu  	 	H**6XT=Q=Q  "-2H IIIuu...Jd4J4J5tr   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )N-Xcdivision=Truer   	cdivisionTr   assertFalse
assertTruer3   r.   r   r   r   argss      r   test_directive_shortz,TestCythonizeArgsParser.test_directive_short'   sy    $0@)ABB((<.AABBB+K8$?????r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nz--directiver6   r   r7   Tr8   r;   s      r   test_directive_longz+TestCythonizeArgsParser.test_directive_long-   sy    -9I)JKK((<.AABBB+K8$?????r   c                 <   |                      g d          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )N)r5   r6   r5   zc_string_type=bytesr   r7   Tc_string_typebytesr8   r;   s      r   test_directive_multiplez/TestCythonizeArgsParser.test_directive_multiple3   s    )^)^)^__((<.AABBB+K8$???+O<gFFFFFr   c                 <   |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )Nr5   z"cdivision=True,c_string_type=bytesr   r7   TrA   rB   r8   r;   s      r   test_directive_multiple_v2z2TestCythonizeArgsParser.test_directive_multiple_v2:   s    $0T)UVV((<.AABBB+K8$???+O<gFFFFFr   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr5   zcdivision=YeSr   r7   Tr8   r;   s      r   test_directive_value_yesz0TestCythonizeArgsParser.test_directive_value_yesA   sx    $)@AA((<.AABBB+K8$?????r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr5   zcdivision=nor   r7   Fr8   r;   s      r   test_directive_value_noz/TestCythonizeArgsParser.test_directive_value_noG   sx    $)?@@((<.AABBB+K8%@@@@@r   c                     |                      t                    5 }|                     ddg          \  }}d d d            d S # 1 swxY w Y   d S )Nr5   zcdivision=sadfasdassertRaises
ValueErrorr   r   contextr   r<   s       r   test_directive_value_invalidz4TestCythonizeArgsParser.test_directive_value_invalidM   s    z** 	Jg!__d4G-HIIMGT	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J   AA
Ac                     |                      t                    5 }|                     ddg          \  }}d d d            d S # 1 swxY w Y   d S )Nr5   abracadabrarK   rN   s       r   test_directive_key_invalidz2TestCythonizeArgsParser.test_directive_key_invalidQ   s    z** 	Dg!__dM-BCCMGT	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	DrQ   c                     |                      t                    5 }|                     ddg          \  }}d d d            d S # 1 swxY w Y   d S )Nr5   r7   rK   rN   s       r   test_directive_no_valuez/TestCythonizeArgsParser.test_directive_no_valueU   s    z** 	Bg!__dK-@AAMGT	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	BrQ   c                 ~   g d}|D ]\  }}d                     |t          |                    }|                     d|g          \  }}|                     |           |                     |                     |dg          d|z              |dk    rd	}|                     |j        |         |d|z              d S )
N)
)auto_pickleTrA   	bytearray)rA   rB   )rA   strrY   )rA   unicode)c_string_encodingascii)r   2)r   3)set_initial_pathmy_initial_path{key}={value}keyvaluer5   r   Error for option: r)   r\   r[   )formatr[   r   r9   r:   r3   r.   r   )r   r   re   rf   cmdr   r<   s          r   test_directives_typesz-TestCythonizeArgsParser.test_directives_typesY   s    
 
 

 % 	] 	]JC!((SE

(CCC!__dC[99MGTT"""OOD,,W|nEEMabeMeOfff	!!W/4eCWX[C[\\\\	] 	]r   c                    g d}|D ]z\  }}d                     |t          |                    }|                     t          d|z             5 }|                     d|g          \  }}d d d            n# 1 swxY w Y   {d S )N))rX   *   )rX   NONONO)rA   bitesrc   rd   rg   r)   r5   )rh   r[   rL   rM   r   )r   r   re   rf   ri   rO   r   r<   s           r   test_directives_wrongz-TestCythonizeArgsParser.test_directives_wrongp   s    
 
 

 % 	> 	>JC!((SE

(CCC"":5I#5M"NN >RY!%$!=!=> > > > > > > > > > > > > > >	> 	>s   A66A:	=A:	c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )N-E	MYSIZE=10r   MYSIZE
   r   r9   r:   r3   r.   r   r;   s      r   test_compile_time_env_shortz3TestCythonizeArgsParser.test_compile_time_env_short}   sz    $)<==((3E2FGGHHH1(;R@@@@@r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nz--compile-time-envrr   r   rs   rt   ru   r;   s      r   test_compile_time_env_longz2TestCythonizeArgsParser.test_compile_time_env_long   s{    *>)LMM((3E2FGGHHH1(;R@@@@@r   c                 <   |                      g d          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )N)rq   rr   rq   z
ARRSIZE=11r   rs   rt   ARRSIZE   ru   r;   s      r   test_compile_time_env_multiplez6TestCythonizeArgsParser.test_compile_time_env_multiple   s    )P)P)PQQ((3E2FGGHHH1(;R@@@1)<bAAAAAr   c                 <   |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )Nrq   zMYSIZE=10,ARRSIZE=11r   rs   rt   rz   r{   ru   r;   s      r   !test_compile_time_env_multiple_v2z9TestCythonizeArgsParser.test_compile_time_env_multiple_v2   s    $0F)GHH((3E2FGGHHH1(;R@@@1)<bAAAAAr   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )N-sdocstrings=Truer   
docstringsTr   r9   r:   r3   r.   r   r;   s      r   test_option_shortz)TestCythonizeArgsParser.test_option_short   x    $0A)BCC((9+>>???6=====r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nz--optionr   r   r   Tr   r;   s      r   test_option_longz(TestCythonizeArgsParser.test_option_long   sx    *6G)HII((9+>>???6=====r   c                 <   |                      g d          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )N)r   r   r   zbuffer_max_dims=8r   r   Tbuffer_max_dimsr   r;   s      r   test_option_multiplez,TestCythonizeArgsParser.test_option_multiple   s    )])])]^^((9+>>???6===):;TBBBBBr   c                 <   |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           |                     |j        d         d           d S )Nr   z!docstrings=True,buffer_max_dims=8r   r   Tr   r   r;   s      r   test_option_multiple_v2z/TestCythonizeArgsParser.test_option_multiple_v2   s    $0S)TUU((9+>>???6===):;TBBBBBr   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=YeSr   r   Tr   r;   s      r   test_option_value_yesz-TestCythonizeArgsParser.test_option_value_yes   sx    $0@)ABB((9+>>???6=====r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=4242r   r   Tr   r;   s      r   test_option_value_4242z.TestCythonizeArgsParser.test_option_value_4242   r   r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=0r   r   Fr   r;   s      r   test_option_value_0z+TestCythonizeArgsParser.test_option_value_0   sw    $)?@@((9+>>???6>>>>>r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=r   r   Tr   r;   s      r   test_option_value_emptystrz2TestCythonizeArgsParser.test_option_value_emptystr   sw    $)>??((9+>>???6=====r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=BBr   r   Tr   r;   s      r   test_option_value_a_strz/TestCythonizeArgsParser.test_option_value_a_str   sw    $)@AA((9+>>???6=====r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   zdocstrings=nOr   r   Fr   r;   s      r   test_option_value_noz,TestCythonizeArgsParser.test_option_value_no   sw    $)@AA((9+>>???6>>>>>r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   r   r   Tr   r;   s      r   test_option_no_valuez,TestCythonizeArgsParser.test_option_no_value   sw    $)=>>((9+>>???6=====r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d         d           d S )Nr   rS   r   Tr   r;   s      r   test_option_any_keyz+TestCythonizeArgsParser.test_option_any_key   sw    $)>??((9+>>???7>>>>>r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-2r      r   r9   r:   r3   r.   r   r;   s      r   test_language_level_2z-TestCythonizeArgsParser.test_language_level_2   r    $00((3C2DEEFFF/33333r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-3r      r   r;   s      r   test_language_level_3z-TestCythonizeArgsParser.test_language_level_3   r   r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N--3strr   r   r   r;   s      r   test_language_level_3strz0TestCythonizeArgsParser.test_language_level_3str   sr    (44((3C2DEEFFF/33333r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N-ar    defaultr   r9   r:   r3   r.   r    r;   s      r   test_annotate_shortz+TestCythonizeArgsParser.test_annotate_short   sp    $00((:,??@@@)955555r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N
--annotater    r   r   r;   s      r   test_annotate_longz*TestCythonizeArgsParser.test_annotate_long   sp    ,88((:,??@@@)955555r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N--annotate-fullcr    fullcr   r;   s      r   test_annotate_fullcz+TestCythonizeArgsParser.test_annotate_fullc   sr    *<)=>>((:,??@@@)733333r   c                     |                      ddg          \  }}|                     |dg           |                     |                     |dg                     |                     |j        d           d S )Nr   foo.pyxr    r   )r   r.   r:   r3   r    r;   s      r   test_annotate_and_positionalz4TestCythonizeArgsParser.test_annotate_and_positional  sw    $	):;;	{+++((:,??@@@)955555r   c                 &   |                      ddg          \  }}|                     |           |                     |                     |ddg                     |                     |j        d           |                     |j        d           d S )Nr   r   r    r   r   r   )r   r9   r:   r3   r.   r    r   r;   s      r   test_annotate_and_optionalz2TestCythonizeArgsParser.test_annotate_and_optional  s    $)9::((:?O2PQQRRR)9555/33333r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     d|j        v            d S )Nz-x*.pyxr   r   r9   r:   r3   r   r;   s      r   test_exclude_shortz*TestCythonizeArgsParser.test_exclude_short  ss    $99((:,??@@@7#3344444r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     d|j        v            d S )N	--excluder   r   r   r;   s      r   test_exclude_longz)TestCythonizeArgsParser.test_exclude_long  st    +w)?@@((:,??@@@7#3344444r   c                     |                      g d          \  }}|                     |           |                     |                     |dg                     |                     |j        ddg           d S )N)r   r   r   *.pyr   r   r   )r   r9   r:   r3   r.   r   r;   s      r   test_exclude_multiplez-TestCythonizeArgsParser.test_exclude_multiple  sz    )V)V)VWW((:,??@@@)GV+<=====r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-br!   Tr   r9   r:   r3   r.   r!   r;   s      r   test_build_shortz(TestCythonizeArgsParser.test_build_short%  o    $00((7)<<===-----r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz--buildr!   Tr   r;   s      r   test_build_longz'TestCythonizeArgsParser.test_build_long+  o    )55((7)<<===-----r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N-ir"   Tr   r9   r:   r3   r.   r"   r;   s      r   test_inplace_shortz*TestCythonizeArgsParser.test_inplace_short1  sq    $00((?2CDDEEE.55555r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz	--inplacer"   Tr   r;   s      r   test_inplace_longz)TestCythonizeArgsParser.test_inplace_long7  sq    +77((?2CDDEEE.55555r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-j42r+   rl   r   r9   r:   r3   r.   r+   r;   s      r   test_parallel_shortz+TestCythonizeArgsParser.test_parallel_short=  sr    $66((:,??@@@)2.....r   c                     |                      ddg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz
--parallelr   r+   rl   r   r;   s      r   test_parallel_longz*TestCythonizeArgsParser.test_parallel_longC  ss    ,)=>>((:,??@@@)2.....r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N-fr#   Tr   r9   r:   r3   r.   r#   r;   s      r   test_force_shortz(TestCythonizeArgsParser.test_force_shortI  r   r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz--forcer#   Tr   r;   s      r   test_force_longz'TestCythonizeArgsParser.test_force_longO  r   r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-qr$   Tr   r9   r:   r3   r.   r$   r;   s      r   test_quite_shortz(TestCythonizeArgsParser.test_quite_shortU  r   r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz--quietr$   Tr   r;   s      r   test_quite_longz'TestCythonizeArgsParser.test_quite_long[  r   r   c                     |                      dg          \  }}|                     |                     |dg                     |                     |           |                     |j        d           d S )N	--lenientr%   T)r   r:   r3   r9   r.   r%   r;   s      r   test_lenient_longz)TestCythonizeArgsParser.test_lenient_longa  so    +77((9+>>???$/////r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz-kr&   Tr   r9   r:   r3   r.   r&   r;   s      r   test_keep_going_shortz-TestCythonizeArgsParser.test_keep_going_shortg  sp    $00((<.AABBB+T22222r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )Nz--keep-goingr&   Tr   r;   s      r   test_keep_going_longz,TestCythonizeArgsParser.test_keep_going_longm  sq    .)9::((<.AABBB+T22222r   c                     |                      dg          \  }}|                     |           |                     |                     |dg                     |                     |j        d           d S )N--no-docstringsr'   T)r   r9   r:   r3   r.   r'   r;   s      r   test_no_docstrings_longz/TestCythonizeArgsParser.test_no_docstrings_longs  ss    *;)<==((?2CDDEEE.55555r   c                 B   |                      ddg          \  }}|                     t          |          d           |                     |d         d           |                     |d         d           |                     |                     |g                      d S )N	file1.pyx	file2.pyxr   r      )r   r.   r,   r:   r3   r;   s      r   test_file_namez&TestCythonizeArgsParser.test_file_namey  s    +{)CDDTA&&&a+...a+...(("5566666r   c                     |                      ddg          \  }}|                     |dg           |                     |j        d           |                     |                     |dg                     d S )Nr   file.pyxTr"   r   r.   r"   r:   r3   r;   s      r   test_option_firstz)TestCythonizeArgsParser.test_option_first  sx    $
);<<
|,,,.555((?2CDDEEEEEr   c                 *   |                      g d          \  }}|                     |dg           |                     |j        d           |                     |j        d           |                     |                     |ddg                     d S )N)r   r   r   r   Tr   r"   r    )r   r.   r"   r    r:   r3   r;   s      r   test_file_inbetweenz+TestCythonizeArgsParser.test_file_inbetween  s    )A)A)ABB
|,,,.555)9555((?J2OPPQQQQQr   c                     |                      ddg          \  }}|                     |dg           |                     |j        d           |                     |                     |dg                     d S )Nr   r   Tr"   r   r;   s      r   test_option_trailingz,TestCythonizeArgsParser.test_option_trailing  sx    *d);<<
|,,,.555((?2CDDEEEEEr   c                     |                      g d          \  }}|                     |ddg           |                     |j        d           |                     |                     |dg                     d S )N)r   r   r   r   r   r   r    r   r.   r    r:   r3   r   r   sourcess      r   test_interspersed_positionalz4TestCythonizeArgsParser.test_interspersed_positional  s    ?? ,
 ,
 ,
   	;"<===)9555((:,??@@@@@r   c                     |                      g d          \  }}|                     |g d           |                     |j        d           |                     |                     |dg                     d S )N)r   r   r   r   	file3.pyx)r   r   r   r   r    r   r   s      r   test_interspersed_positional2z5TestCythonizeArgsParser.test_interspersed_positional2  s    ?? ,
 ,
 ,
   	"I"I"IJJJ)9555((:,??@@@@@r   c                 ,   |                      g d          \  }}|                     |g d           |                     |j        d           |                     |j        d           |                     |                     |ddg                     d S )N)r   f1f2r   f3f4r   f5)r  r  r  r  r  r   Tr    r#   )r   r.   r    r#   r:   r3   r   s      r   test_interspersed_positional3z5TestCythonizeArgsParser.test_interspersed_positional3  s    ?? ,
 ,
 ,
   	"@"@"@AAA)9555---((:w2GHHIIIIIr   c                 "   t           j        }t                      x}t           _        	 |                     t          | j        dg           |t           _        n# |t           _        w xY w|                     |                                           d S )Nz--unknown-option)sysstderrr   rL   
SystemExitr   r:   getvalue)r   
old_stderrr
  s      r   test_wrong_optionz)TestCythonizeArgsParser.test_wrong_option  s    Z
&jj(	$j$/12      $CJJCJ####))*****s   "A A%N)A__name__
__module____qualname__r   r3   r=   r?   rC   rE   rG   rI   rP   rT   rV   rj   ro   rv   rx   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r      s       \ \ \
  "@ @ @@ @ @G G GG G G@ @ @A A AJ J JD D DB B B] ] ].> > >A A AA A AB B BB B B> > >> > >C C CC C C> > >> > >? ? ?> > >> > >? ? ?> > >? ? ?4 4 44 4 44 4 46 6 66 6 64 4 46 6 64 4 45 5 55 5 5> > >. . .. . .6 6 66 6 6/ / // / /. . .. . .. . .. . .0 0 03 3 33 3 36 6 67 7 7F F FR R RF F FA A AA A AJ J J	+ 	+ 	+ 	+ 	+r   r   c                   B    e Zd Zd Zd Zg fdZd Zd Zd Zd Z	d Z
d	S )
TestParseArgsc                 ,    t                      | _        d S r   )r   _options_backupr   s    r   r   zTestParseArgs.setUp  s    -//r   c                 .    t          | j                   d S r   )r	   r  r   s    r   tearDownzTestParseArgs.tearDown  s    ,-----r   c                 X    |                      t          | j        |          d           d S )Nr(   )r.   r
   r  )r   
white_lists     r   check_default_global_optionsz*TestParseArgs.check_default_global_options  s-    -d.BJOOQSTTTTTr   c                     t          ddg          \  }}|                     |j        d           |                                  d S )Nr   r   T)r   r.   r!   r  r;   s      r   test_build_set_for_inplacez(TestParseArgs.test_build_set_for_inplace  sH    "It#455---))+++++r   c                 
   t          ddg          \  }}|                     |dg           |                     t          j        d           |                     t          j        d           |                     ddg           d S )Nr   r   Ferror_on_unknown_nameserror_on_uninitialized)r   r.   r   r  r   r  r   s      r   test_lenientzTestParseArgs.test_lenient  s    %y+&>??9+...7???7???))+CE]*^_____r   c                     t          ddg          \  }}|                     |dg           |                     t          j        d           |                     dg           d S )Nr   r   r   r    r   r.   r   r    r  r   s      r   test_annotatezTestParseArgs.test_annotate  sf    %y,&?@@9+...)9555)):,77777r   c                     t          ddg          \  }}|                     |dg           |                     t          j        d           |                     dg           d S )Nr   r   r   r    r#  r   s      r   r   z!TestParseArgs.test_annotate_fullc  sg    %y2D&EFF9+...)7333)):,77777r   c                     t          ddg          \  }}|                     |dg           |                     t          j        d           |                     dg           d S )Nr   r   Fr   )r   r.   r   r   r  r   s      r   test_no_docstringsz TestParseArgs.test_no_docstrings  sg    %y2C&DEE9+...+U333))<.99999r   N)r  r  r  r   r  r  r  r!  r$  r   r'  r  r   r   r  r    s        0 0 0. . . 79 U U U U, , ,
` ` `8 8 88 8 8: : : : :r   r  )Cython.Build.Cythonizer   r   r   r   Cython.Compilerr   Cython.Compiler.Tests.Utilsr   r	   r
   unittestr   r	  ior   r   r  r  r   r   <module>r-     s             
 $ # # # # # ] ] ] ] ] ] ] ] ] ]       



      i+ i+ i+ i+ i+h i+ i+ i+X&: &: &: &: &:H &: &: &: &: &:r   