+
    Bi                         ^ RI t ^ RIHt ^ RIHtHt ^ RI Ht ^ RIHt ]P                  ! 4        ! R R]4      4       t
]R8X  d   ] P                  ! 4        R# R# )	    N)cycle)EventThread)TestCase)threading_helperc                   ,   a  ] tR t^	t o R tR tRtV tR# )TestStrc                V  aa	a
 . o
^do^
p\        4       o	VV	V
3R lpV	V
3R lp\        VR7      p. p\        V4       F0  p\        VR7      pVP                  V4       VP	                  4        K2  	  VP	                  4        VP                  4        V F  pVP                  4        K  	  R# )z6Test joining a string being extended by another threadc            	         < \        S4       F;  p SP                  \        \        \        V 4      4      4       SP	                  4        K=  	  SP                  4        R # )N)rangeextendmapstrclearset)iITERS
done_eventls    8/usr/lib/python3.14/test/test_free_threading/test_str.pywriter_func4TestStr.test_racing_join_extend.<locals>.writer_func   s=    5\S%(+,	 " NN    c                  Z   < S P                  4       '       g   R P                  S4       K)  R#  Nis_setjoinr   r   s   r   reader_func4TestStr.test_racing_join_extend.<locals>.reader_func   s"     ''))
 *r   targetNr   r   r   appendstartr   )selfREADERSr   r!   writerreadersxreaderr   r   r   s   &       @@@r   test_racing_join_extendTestStr.test_racing_join_extend   s    W
	
	 {+wA;/FNN6"LLN  
 	FKKM r   c                Z  aa	a
 . ROo
Ro^
p\        4       o	VV	V
3R lpV	V
3R lp\        VR7      p. p\        V4       F0  p\        VR7      pVP                  V4       VP	                  4        K2  	  VP	                  4        VP                  4        V F  pVP                  4        K  	  R# )z^
Test joining a string of characters being replaced with ephemeral
strings by another thread.
abcdefgi  c            
         < \        \        \        \        S4      4      4      \	        \
        \        ^S4      4      4       F
  w  rVSV &   K  	  SP                  4        R# )   N)zipr   r   lenr   chrr   )r   cMAX_ORDINALr   r   s     r   r   5TestStr.test_racing_join_replace.<locals>.writer_func/   sI    E%A-0U3%<=?!? NNr   c                     < S P                  4       '       gG   R P                  S4       R P                  S4       R P                  S4       R P                  S4       K\  R# r   r   r    s   r   r!   5TestStr.test_racing_join_replace.<locals>.reader_func5   sC     ''))



	 *r   r#   Nr%   )r(   r)   r   r!   r*   r+   r,   r-   r8   r   r   s   &       @@@r   test_racing_join_replace TestStr.test_racing_join_replace%   s    
 iLW
		 {+wA;/FNN6"LLN  
 	FKKM r    N)__name__
__module____qualname____firstlineno__r.   r<   __static_attributes____classdictcell__)__classdict__s   @r   r	   r	   	   s     4! !r   r	   __main__)unittest	itertoolsr   	threadingr   r   r   test.supportr   requires_working_threadingr	   r?   mainr>   r   r   <module>rM      sO      #  ),,.<h < /<~ zMMO r   