+
    VBi                     x    ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t^ RIHt  ! R R]4      tR# )    N)
CythonTestc                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tR tRtV tR# )TestCyCachec                V   \         P                  ! V 4       \        P                  ! R \        P
                  P                  R4      '       d   RMRR7      V n        \        P                  ! RV P                  R7      V n        \        P                  ! RV P                  R7      V n	        R# )zcycache-testTEST_TMPN)prefixdirsrccache)
r   setUptempfilemkdtempospathisdirtemp_dirsrc_dir	cache_dirselfs   &C/usr/lib/python3.14/site-packages/Cython/Build/Tests/TestCyCache.pyr   TestCyCache.setUp   so     ((! ggmmJ77
TC  ''u$--H!))dmmL    c                ~    \         P                   ! \        P                  P                  V P                  V4      4      # N)globr   r   joinr   )r   	file_globs   &&r   cache_filesTestCyCache.cache_files   s$    yydnni@AAr   c                    \         P                  P                  4        R \         P                  P                  n        \         P                  P                  P                  ! V/ VB  R # r   )CythonUtilsclear_function_cachesBuildDependencies	_dep_tree	cythonizer   argskwargss   &*,r   fresh_cythonizeTestCyCache.fresh_cythonize   sA    **,.2!!+!!++T<V<r   c                    \         P                  P                  4        \         P                  P                  P
                  ! V/ VB  R # r   )r"   r#   r$   CompilerMaincompiler)   s   &*,r   fresh_compileTestCyCache.fresh_compile!   s/    **,$$d5f5r   c                b   R pRp\         P                  P                  V P                  R4      pVRR R,           p\	        VR4      ;_uu_ 4       pVP                  V4       RRR4       V! W@P                  R7       V! W@P                  R7       V P                  ^\        V P                  R4      4      4       \	        V4      ;_uu_ 4       pVP                  4       pRRR4       \         P                  ! V4       \	        VR4      ;_uu_ 4       pVP                  V4       RRR4       V! W@P                  R7       \	        V4      ;_uu_ 4       pVP                  4       pRRR4       \         P                  ! V4       V P                  XXR4       V P                  ^\        V P                  R4      4      4       \	        VR4      ;_uu_ 4       pVP                  V4       RRR4       V! W@P                  R7       V P                  ^\        V P                  R4      4      4       \	        V4      ;_uu_ 4       pVP                  4       p	RRR4       V P                  X	VR	P                  \        \        P                  ! V	P!                  R	4      VP!                  R	4      4      4      R
,          4      R7       R#   + '       g   i     ELb; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL2; i  + '       g   i     L; i)z
value = 1
z
value = 2
a.pyxN.cwr   za.c*zC file not changed!
:N
   N)msg)r   r   r   r   openwriter   assertEquallenr   readunlinkassertNotEquallistdifflibunified_diffsplit)
r   compilation_methodcontent1content2a_pyxa_cfa_contents1a_contents2
a_contentss
   &&        r   _test_cycache_switch TestCyCache._test_cycache_switch&   sD     T\\73CRj4%GGH  	5757C 0 0 89:#YY!&&(K 
		#%GGH  	57#YY!&&(K 
		#K6KLC 0 0 89:%GGH  	57C 0 0 89:#YY!J 		$w33  &(9(9$(? A BBEG H 	 	I?  YY 
 YY  YsH   J:KK"K6L
9L:K	K	"K3	6L	
L	L.	c                <    V P                  V P                  4       R # r   )rQ   r,   r   s   &r   test_cycache_switch_cythonize)TestCyCache.test_cycache_switch_cythonizeP   s    !!$"6"67r   c                <    V P                  V P                  4       R # r   )rQ   r2   r   s   &r   test_cycache_switch_compile'TestCyCache.test_cycache_switch_compileS   s    !!$"4"45r   c                d   \         P                  P                  V P                  R 4      pVRR R,           p\	        VR4      ;_uu_ 4       pVP                  R4       RRR4       V! W P                  R7       \         P                  P                  V P                  \         P                  ! V P                  4      ^ ,          4      p\        P                  ! VR4      ;_uu_ 4       pVP                  R4       RRR4       \         P                  ! V4       V! W P                  R7       \	        V4      ;_uu_ 4       pVP                  4       pRRR4       V P                  XRR	VR
,          ,          4       R#   + '       g   i     EL$; i  + '       g   i     L; i  + '       g   i     LZ; i)r5   Nr6   r7   passr8   wbs
   fake stuffz
fake stuffzUnexpected contents: %s...:Nd   Nr<   )r   r   r   r   r=   r>   r   listdirgzipGzipFilerB   rA   r?   )r   rH   rK   rL   rM   a_cachegzipfilerP   s   &&      r   _test_cycache_uses_cache$TestCyCache._test_cycache_uses_cacheV   s   T\\73CRj4%GGFO  	57'',,t~~rzz$../I!/LM]]7D))XNN=) *
		#57#YY!J \5
48HH	J  *) Ys$   E8&F<F8F		F	F/	c                <    V P                  V P                  4       R # r   )rb   r,   r   s   &r   !test_cycache_uses_cache_cythonize-TestCyCache.test_cycache_uses_cache_cythonizek       %%d&:&:;r   c                <    V P                  V P                  4       R # r   )rb   r2   r   s   &r   test_cycache_uses_cache_compile+TestCyCache.test_cycache_uses_cache_compilen       %%d&8&89r   c                p   \         P                  P                  V P                  R 4      pVRR R,           pVRR R,           p\	        VR4      ;_uu_ 4       pVP                  R4       RRR4       V! W P                  RR7       V P                  \         P                  P                  V4      V4       \         P                  ! V4       \         P                  ! V4       V! W P                  RR7       V P                  \         P                  P                  V4      V4       R#   + '       g   i     L; i)	r5   Nr6   z.htmlr7   rZ   default)r   annotater<   
r   r   r   r   r=   r>   r   
assertTrueexistsrB   )r   rH   rK   rL   a_htmlrM   s   &&    r   _test_cycache_annotation$TestCyCache._test_cycache_annotationq   s    T\\73CRj4sg%%GGFO  	5Kv.7
		&
		#5Kv.7 s   D%%D5	c                <    V P                  V P                  4       R # r   )rs   r,   r   s   &r   !test_cycache_annotation_cythonize-TestCyCache.test_cycache_annotation_cythonize   rg   r   c                <    V P                  V P                  4       R # r   )rs   r2   r   s   &r   test_cycache_annotation_compile+TestCyCache.test_cycache_annotation_compile   rk   r   c                   \         P                  P                  V P                  R 4      pVRR R,           pVRR R,           pVRR R,           p\	        VR4      ;_uu_ 4       pVP                  R4       RRR4       V! W P                  R7       W4V.pV FH  pV P                  \         P                  P                  V4      V4       \         P                  ! V4       KJ  	  V! W P                  R7       V F2  pV P                  \         P                  P                  V4      V4       K4  	  R#   + '       g   i     L; i)	r5   Nr6   z.hz_api.hr7   z)cdef public api int foo(int x): return x
r8   r<   ro   )	r   rH   rK   rL   a_ha_api_hrM   expectedoutputs	   &&       r   _test_multi_file_output#TestCyCache._test_multi_file_output   s    T\\73CRj4CRj4*x'%GG@A  	57g&FOOBGGNN62F;IIf  	57FOOBGGNN62F;  s   #D//D?	c                <    V P                  V P                  4       R # r   )r   r,   r   s   &r    test_multi_file_output_cythonize,TestCyCache.test_multi_file_output_cythonize   s    $$T%9%9:r   c                <    V P                  V P                  4       R # r   )r   r2   r   s   &r   test_multi_file_output_compile*TestCyCache.test_multi_file_output_compile   s    $$T%7%78r   c                   \         P                  P                  V P                  R 4      pVR\	        R4      )  R,           pVR\	        R4      )  R,           p\        VR4      ;_uu_ 4       pVP                  R4       RRR4       V! W P                  RR7       V P                  ^\	        V P                  R	4      4      4       \         P                  ! V4       V! W P                  R
R7       V P                  ^\	        V P                  R	4      4      4        \         P                  ! V4       V! W P                  RRR7       V P                  ^\	        V P                  R	4      4      4       \         P                  ! V4       V! W P                  RR
R7       V P                  ^\	        V P                  R	4      4      4       R#   + '       g   i     ELP; i  \         d    \         P                  ! T4        Li ; i)zoptions.pyxNz.pyxr6   z.cppr7   rZ   F)r   cplusz
options.c*T)r   r   show_version)r   r   r   r   r@   r=   r>   r   r?   r   rB   FileNotFoundError)r   rH   hash_pyxhash_chash_cpprM   s   &&    r   _test_options_invalidation&TestCyCache._test_options_invalidation   sx   77<<m<-CK<(4/Mc&k\*V3(C  AGGFO !8>>GC 0 0 >?@
		&8>>FC 0 0 >?@	 IIf
 	8>>UZ[C 0 0 >?@
		&8>>UYZC 0 0 >?@3 !   ! 	 IIh	 s   +GG G	!G<;G<c                <    V P                  V P                  4       R # r   )r   r,   r   s   &r   #test_options_invalidation_cythonize/TestCyCache.test_options_invalidation_cythonize   s    ''(<(<=r   c                <    V P                  V P                  4       R # r   )r   r2   r   s   &r   !test_options_invalidation_compile-TestCyCache.test_options_invalidation_compile   s    ''(:(:;r   )r   r   r   N)__name__
__module____qualname____firstlineno__r   r   r,   r2   rQ   rT   rW   rb   re   ri   rs   rv   ry   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      so     MB=
6
(IT86J*<:8<:<(;9A>>< <r   r   )rE   r   r^   r   sysr   unittestCython.Build.Dependenciesr"   Cython.Compiler.MainCython.UtilsCython.TestUtilsr   r    r   r   <module>r      s4       	 
       's<* s<r   