+
    Bi)                         ^ RI t ^ RIt^ RIHt ]P                  ! RR7      '       d   Rt^tMRt^t^t ! R R]P                  4      t	 ! R	 R
]	4      t
 ! R R]	4      tR# )    N)supportT)threadi  i c                   F   a  ] tR t^t o R tR tR]/R ltR tR t	Rt
V tR# )	ContendedTupleIterationTestc                *    \        \        V4      4      # N)tuplerangeselfns   &&>/usr/lib/python3.14/test/test_free_threading/test_iteration.pymake_testdata)ContendedTupleIterationTest.make_testdata   s    U1X    c                p    \        V4      \        V4      ,
          pV P                  \        4       V4       R # r   )setassertEqual)r   resultsexpectedextra_itemss   &&& r   assert_iterator_results3ContendedTupleIterationTest.assert_iterator_results   s(     'lS]2,r   
numthreadsc                   . p\        V4       F;  p\        P                  ! WR 7      pVP                  4        VP	                  V4       K=  	  V# ))targetargs)r
   	threadingThreadstartappend)r   funcr   r   threads_ts   &&$*   r   run_threads'ContendedTupleIterationTest.run_threads   sB    z"A  8AGGINN1 # r   c                  aaa V P                  \        4      o. o\        P                  ! \        4      oVVV3R lpV P                  V4      pV F  pVP                  4        K  	  V P                  S\        .\        ,          4       R# )z&Test iteration over a shared containerc                  r   < ^ p SP                  4        S F  pV ^,          p K  	  SP                  V 4       R# r   N)waitr!   )idxitemr   seqr    s     r   worker:ContendedTupleIterationTest.test_iteration.<locals>.worker+   s0    CJJLq NN3r   N)r   NUMITEMSr   Barrier
NUMTHREADSr&   joinr   )r   r/   r#   r%   r   r.   r    s   &   @@@r   test_iteration*ContendedTupleIterationTest.test_iteration&   sk      *!!*-	  ""6*AFFH  	8*z"9:r   c                  aaa V P                  \        4      p\        V4      o. o\        P                  ! \
        4      oVVV3R lpV P                  V4      pV F  pVP                  4        K  	  V P                  SV4       R# )z%Test iteration over a shared iteratorc                     < . p SP                  4        S F  pV P                  V4       K  	  SP                  V 4       R # r   r+   r!   extend)itemsr-   itr   r    s     r   r/   @ContendedTupleIterationTest.test_shared_iterator.<locals>.worker=   s3    EJJLT" NN5!r   N)	r   r1   iterr   r2   r3   r&   r4   r   )r   r.   r/   r#   r%   r<   r   r    s   &    @@@r   test_shared_iterator0ContendedTupleIterationTest.test_shared_iterator7   sk      *#Y!!*-	" ""6*AFFH $$Wc2r    N)__name__
__module____qualname____firstlineno__r   r   r3   r&   r5   r?   __static_attributes____classdictcell____classdict__s   @r   r   r      s*     -* ;"3 3r   r   c                   ,   a  ] tR t^It o R tR tRtV tR# )ContendedListIterationTestc                *    \        \        V4      4      # r   )listr
   r   s   &&r   r   (ContendedListIterationTest.make_testdataJ   s    E!H~r   c                <  aaa	a
 V P                  \        4      o	. o\        P                  ! \        \
        ,           4      o
\        P                  ! 4       oVV	V
3R lpVV	V
3R lpRp V P                  V4      pV P                  V\
        R7      pV F  pVP                  4        K  	  SP                  4        V F  pVP                  4        K  	  V P                  S\        S	4      4       R#   SP                  4        T F  pTP                  4        K  	  i ; i)z0Test iteration over a shared mutating container.c                    < SR ,          p V ^,          \         ^,          R pSP                  4        SP                  4       '       g@   SP                  V4       V SR&   SP	                  ^4       SP                  S4       V SR &   KU  R# ):NNNN:Nr   N)r1   r+   is_setr:   __imul__)origreplacement	endmutater.   r    s     r   mutatorIContendedListIterationTest.test_iteration_while_mutating.<locals>.mutatorS   ss    q6D  !8Xq[\2KJJL&&((

;'BQ

3A )r   c                     < . p SP                  4        S F  pV P                  V4       K  	  SP                  V 4       R # r   r9   )r;   r-   r   r.   r    s     r   r/   HContendedListIterationTest.test_iteration_while_mutating.<locals>.worker_   s3    EJJLT" NN5!r   )r   NrA   )r   r1   r   r2   r3   NUMMUTATORSEventr&   r4   r   r   rM   )r   rV   r/   mutatorsr#   r%   mrU   r   r.   r    s   &      @@@@r   test_iteration_while_mutating8ContendedListIterationTest.test_iteration_while_mutatingM   s      *!!*{":;OO%			" 	&&v.G''K'HH  MMO $$Wd3i8 MMO s   )AC0 0+DrA   N)rB   rC   rD   rE   r   r^   rF   rG   rH   s   @r   rK   rK   I   s     #9 #9r   rK   c                   ,   a  ] tR t^st o R tR tRtV tR# )ContendedRangeIterationTestc                    \        V4      # r   )r
   r   s   &&r   r   )ContendedRangeIterationTest.make_testdatat   s    Qxr   c                    \        V4      \        V4      ,
          pV F6  pV P                  WBP                  ,
          VP                  ,          ^ 4       K8  	  R# r*   )r   r   r    step)r   r   r   r   r-   s   &&&  r   r   3ContendedRangeIterationTest.assert_iterator_resultsw   s@     'lS]2Dd^^3x}}DaH  r   rA   N)rB   rC   rD   rE   r   r   rF   rG   rH   s   @r   ra   ra   s   s     I Ir   ra   )r   unittesttestr   check_sanitizerr1   r3   rZ   TestCaser   rK   ra   rA   r   r   <module>rk      sj       $''HJHJ43("3"3 43l'9!< '9TI"= Ir   