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
45
46
47
U
K±dåã@s¼ddlZddlmZmZmZmZedd„ƒZdd„Zdd    „Zd
Z    z e
d ƒWne k
rdd Z    YnXej j e     d ddd„ƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS)éNé)ÚaclosingÚasync_generatorÚyield_ÚasynccontextmanagercÃsBz t|ƒD]}t|ƒIdHq
Wntk
r<d|d<YnXdS)NTr)ÚrangerÚ GeneratorExit)ÚcountÚ closed_slotÚi©r úWd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\async_generator/_tests/test_util.pyÚ async_ranges
 rc
Ãsdg}ttd|ƒƒ4IdHšB}ttdƒƒ}|2z(3dHW}|t|ƒksJt‚|dkr.qZq.6W5QIdHRX|dsvt‚dg}zjttd|ƒƒ4IdHšD}ttdƒƒ}|2z*3dHW}|t|ƒksÂt‚|dkr¦tƒ‚q¦6W5QIdHRXWntk
rúYnX|ds
t‚dS)NFé
ér)rrÚiterrÚnextÚAssertionErrorÚ
ValueError)r
ÚgenÚitÚitemr r r Ú test_aclosings&   rc Ãs¢ttdd„ƒƒ}t t¡*}|ƒ4IdHš
t‚W5QIdHRXW5QRX|jjddks^t‚t    |jj
tƒspt‚t t¡2}|ƒ4IdHšt dƒ}|‚W5QIdHRXW5QRX|jjddksÆt‚|jj
}|jddksàt‚|j
|ksît‚t t ¡.}|ƒ4IdHšt dƒ‚W5QIdHRXW5QRX|jjddksBt‚|jj
dksTt‚ttdd„ƒƒ}t t ¡*|ƒ4IdHš
t ‚W5QIdHRXW5QRXdS)    Nc
ÓsBztƒIdHWn,tk
r<}ztdƒ|‚W5d}~XYnXdS)Núissue29692:Chained)rÚ    ExceptionÚ RuntimeError)Úexcr r r Úmanager_issue29692'sz[test_contextmanager_do_not_unchain_non_stopiteration_exceptions.<locals>.manager_issue29692rrúissue29692:Unchainedzgenerator raised StopIterationcÓstƒIdHdS©N©rr r r r Únoop_async_context_managerFszctest_contextmanager_do_not_unchain_non_stopiteration_exceptions.<locals>.noop_async_context_manager) rrÚpytestÚraisesrÚZeroDivisionErrorÚvalueÚargsrÚ
isinstanceÚ    __cause__Ú StopIterationÚStopAsyncIteration)rÚexcinforÚcauser!r r r Ú?test_contextmanager_do_not_unchain_non_stopiteration_exceptions&s6    "  r-Tz¦
@asynccontextmanager
async def manager_issue29692_2():
    try:
        yield
    except Exception as exc:
        raise RuntimeError('issue29692:Chained') from exc
Fz1Python < 3.6 doesn't have native async generators)Úreasonc ÃsÔt t¡*}tƒ4IdHš
t‚W5QIdHRXW5QRX|jjddksNt‚t|jj    tƒs`t‚t
t fD]f}t |¡.}tƒ4IdHš|dƒ‚W5QIdHRXW5QRX|jjddks¾t‚|jj    dksht‚qhdS)Nrrr) r"r#rZmanager_issue29692_2r$r%r&rr'r(r)r*)r+Úclsr r r ÚFtest_native_contextmanager_do_not_unchain_non_stopiteration_exceptionsas   "r0c Ãs~ttdd„ƒƒ}tttfD]>}t |¡*|ƒ4IdHš
|‚W5QIdHRXW5QRXq|ƒ4IdHšW5QIdHRXdS)NcÓstƒIdHdSrr r r r r r!xszRtest_asynccontextmanager_exception_passthrough.<locals>.noop_async_context_manager)rrr*rrr"r#)r!Úexc_typer r r Ú.test_asynccontextmanager_exception_passthroughvs   r2c
Ãs8ttdd„ƒƒ}|ƒ4IdHš
t‚W5QIdHRXdS)Nc    Ós&t t¡tƒIdHW5QRXdSr)r"r#rrr r r r Úcatch_itˆs z<test_asynccontextmanager_catches_exception.<locals>.catch_it)rrr)r3r r r Ú*test_asynccontextmanager_catches_exception‡s
 r4c ÃsNttdd„ƒƒ}t t¡*|ƒ4IdHš
t‚W5QIdHRXW5QRXdS)NcÓs.ztƒIdHWntk
r(t‚YnXdSr)rÚKeyErrorrr r r r Ú    switch_it“sz?test_asynccontextmanager_different_exception.<locals>.switch_it)rrr"r#rr5)r6r r r Ú,test_asynccontextmanager_different_exception’s   r7c
Ãspttdd„ƒƒ}|ƒ}t t¡}|W5QRXW5QRXdt|jƒksNt‚|4IdHšW5QIdHRXdS)NcÓstƒIdHdSrr r r r r Úxxx¡sz@test_asynccontextmanager_nice_message_on_sync_enter.<locals>.xxxz
async with)rrr"r#rÚstrr%r)r8Úcmr+r r r Ú3test_asynccontextmanager_nice_message_on_sync_enter s  r;c Ãsdttdd„ƒƒ}t t¡.}|ƒ4IdHšds4t‚W5QIdHRXW5QRXdt|jƒks`t‚dS)NcÓsdSrr r r r r Úyeehaw³sz1test_asynccontextmanager_no_yield.<locals>.yeehawFz didn't yield)rrr"r#rrr9r%)r<r+r r r Ú!test_asynccontextmanager_no_yield²s  "r=c ƒsÈd‰tt‡fdd„ƒƒ}t t¡&}|ƒ4IdHšW5QIdHRXW5QRXdt|jƒks`t‚ˆdkslt‚t t¡*}|ƒ4IdHš
t‚W5QIdHRXW5QRXdt|jƒks¸t‚ˆdksÄt‚dS)Nrc“sFztƒIdHWntk
r$YnXztƒIdHW5ˆd7‰XdS)Né)rrr ©Z closed_countr r Ú doubleyieldÂsz=test_asynccontextmanager_too_many_yields.<locals>.doubleyieldz didn't stopr>zdidn't stop after athrowr)    rrr"r#rr9r%rr)r@r+r r?r Ú(test_asynccontextmanager_too_many_yields¿s   rAc    Ãs&t t¡tdd„ƒ}W5QRXdS)Ncss
dVdSrr r r r r ÚsyncgenászCtest_asynccontextmanager_requires_asyncgenfunction.<locals>.syncgen)r"r#Ú    TypeErrorr)rBr r r Ú2test_asynccontextmanager_requires_asyncgenfunctionÞs rD)r"Úrrrrrrr-ZnativeasyncgeneratorsÚexecÚ SyntaxErrorÚmarkZskipifr0r2r4r7r;r=rArDr r r r Ú<module>s0
+ÿ
 
þ