1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
U
Z±døã@sdddlZddlZddlmZddlmZmZej d¡Z    dd„Z
dd    „Z d
d „Z d d „Z dd„ZdS)éNé)Ú_core)Úassert_checkpointsÚwait_all_tasks_blockedz3ignore:.*UnboundedQueue:trio.TrioDeprecationWarningc    Ãsðt ¡}| d¡| ¡IdHdgks*t‚t tj¡| ¡W5QRX| d¡| d¡| d¡| ¡dddgks~t‚|     ¡sŠt‚| 
¡dksšt‚| d¡|     ¡r°t‚| 
¡dksÀt‚|  ¡}|j
dksÖt‚|j dksät‚t |ƒdS)NÚhiéérr)rÚUnboundedQueueÚ
put_nowaitÚ    get_batchÚAssertionErrorÚpytestÚraisesÚ
WouldBlockÚget_batch_nowaitÚemptyÚqsizeÚ
statisticsÚ tasks_waitingÚrepr)ÚqÚstats©rú\d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\trio/_core/tests/test_unbounded_queue.pyÚtest_UnboundedQueue_basic s$
 
 
 
 
 rc ƒsúg‰t ¡‰‡‡fdd„}‡‡fdd„}||fD]Ä}ˆ ¡t ¡4IdHšœ}| |¡t ¡IdHˆ ¡}|jdks|t‚|j    dksŠt‚ˆ 
d¡ˆ 
d¡t ¡IdHˆ 
d    ¡t ¡IdHˆddgd    ggksÚt‚|j   ¡W5QIdHRXq0dS)
Nc“s&ˆ ¡IdH}|st‚ˆ |¡qdS©N)r r Úappend©Úbatch©rÚrecordrrÚget_batch_consumer*sz8test_UnboundedQueue_blocking.<locals>.get_batch_consumerc“s*ˆ2z3dHW}|st‚ˆ |¡q6dSr)r rrrrrÚaiter_consumer0sz4test_UnboundedQueue_blocking.<locals>.aiter_consumerrré
é é ) rr    ÚclearÚ open_nurseryÚ
start_soonrrrr rr
Ú cancel_scopeÚcancel)r!r"ZconsumerÚnurseryrrrrÚtest_UnboundedQueue_blocking&s& 
 
 
 
r,c
ƒsŠt ¡‰ˆ d¡ˆ d¡ˆ ¡ddgks0t‚d‰‡fdd„}t ¡4IdHšT}| |ˆ¡t ¡IdHˆ d¡ˆ d¡t     tj
¡ˆ ¡W5QRXW5QIdHRXˆddgksÀt‚g‰‡‡fdd„}t ¡4IdHšl}| |d    ¡t ¡IdH| |d
¡t ¡IdHt d ƒD]}ˆ |¡t ¡IdHq |j   ¡W5QIdHRXˆttt d ¡d d„t d ƒDƒƒƒks†t‚dS)Nrrc“s| ¡IdH‰dSr)r )r)Úresultrrr Qsz/test_UnboundedQueue_fairness.<locals>.get_batchréc“sˆ |ˆ ¡IdHf¡qdSr)rr )ÚnamerrrÚreaderbsz,test_UnboundedQueue_fairness.<locals>.readerÚaÚbéÚabcSsg|]
}|g‘qSrr)Ú.0ÚirrrÚ
<listcomp>rsz0test_UnboundedQueue_fairness.<locals>.<listcomp>)rr    r
rr r'r(rr rrÚranger)r*ÚlistÚzipÚ    itertoolsÚcycle)r r+r0r6r)rr r-rÚtest_UnboundedQueue_fairnessFs4
 
 
 
"   
r=c    Ãsjt ¡}| d¡tƒ| ¡IdHW5QRX| d¡tƒ|2z3dHW}q\qH6W5QRXdSr)rr    r
rr )rÚ_rrrÚ"test_UnboundedQueue_trivial_yieldsus
 
r?c
ƒsºg‰‡fdd„}t ¡4IdHšŠ}t ¡}| ||d¡tƒIdH| ||d¡tƒIdHtdƒD]}| |¡qftƒIdHˆdttdƒƒfgksœt‚|j     
¡W5QIdHRXdS)Nc“s | ¡IdH}ˆ ||f¡dSr)r r)rr6Úgot©r rrÚgetter‡sz7test_UnboundedQueue_no_spurious_wakeups.<locals>.getterrrr#) rr'r    r(rr8r
r9r r)r*)rBr+rr6rrArÚ'test_UnboundedQueue_no_spurious_wakeups‚s      rC)r;r ÚrZtestingrrÚmarkÚfilterwarningsZ
pytestmarkrr,r=r?rCrrrrÚ<module>s ÿ /