L iddlmZddlmZddlZddlZddlmZddlmZGddeZe d k(rddl Z e jyy) )print_function)absolute_importN)_test_extension)TestCasecNeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z y ) CAPITestscv|jdtjtjdy)N2cy)Nr r m/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/greenlet/tests/test_extension_interface.pyz'CAPITests.test_switch..r) assertEqualr test_switchgreenletselfs rrzCAPITests.test_switch s,  ++H,=,=j,IJ Lrcd}tj|}|jdtj|ddy)Nc ||zSNr xys radderz+CAPITests.test_switch_kwargs..adders q5Lrr)rrrtest_switch_kwargs)rrgs rr!zCAPITests.test_switch_kwargss6    e $ O>>qAKLrcd}tj|j}|jdtj|y)Ncd}tj|}|jtjjj|tjjj t dy)Nctjjjtjjjt d)Nz#Should never have reached this code)r getcurrentparentswitchAssertionErrorr rrbarz2CAPITests.test_setparent..foo..barsF##%,,335 ##%,,335$%JKKrzShould never reach this code)rr(r&r'throwr))r*childs rfooz%CAPITests.test_setparent..foosg L%%c*E LLN    ! ( ( / / 6    ! ( ( . .=> @r)rr(rrtest_setparent)rr- foo_childs rr.zCAPITests.test_setparents> @%%c*113  ==iHIrc,tjyr)rtest_getcurrentrs rr1zCAPITests.test_getcurrent*s'')rcP|jdtjdy)Ncy)Nr3r r rrrz-CAPITests.test_new_greenlet...rr)rrtest_new_greenletrs rr5zCAPITests.test_new_greenlet-s o?? LMrc`|jtjtjyr) assertRaisesr GreenletExitrtest_raise_dead_greenletrs rtest_raise_greenlet_deadz"CAPITests.test_raise_greenlet_dead0s"   ! !?#K#K Mrc`|jtjtjyr)r7rerrorrtest_raise_greenlet_errorrs rr=z#CAPITests.test_raise_greenlet_error4s   NNOEE GrcBgfd}tj|}|jtj||j t d|j tdtd|j tdddy)Nc tjjjy#t$r)j t jdYytj$rtwxYw)Nr) rr&r'r( ValueErrorappendsysexc_infor8r))seensrr-z!CAPITests.test_throw..foo;s] %##%,,335 / CLLN1-.(( %$$ %s,0/A:!A:rrz"ValueError was not raised in foo()ztake that sucka!zmessage doesn't match) rr(r test_throwrlen assertTrue isinstancer@str)rr-r"rDs @rrEzCAPITests.test_throw8s %   c "  ""1% TA&  tAw + 0 2  QL  # %rc|jt5}tjt j t t |ddd|jtjdy#1swY/xYw)Nz1throw() third argument must be a traceback object) r7 TypeErrorrtest_throw_exactrr& ExceptionrrI exceptionrexcs rtest_non_traceback_paramz"CAPITests.test_non_traceback_paramNsk   y ) S  , ,##%     S]]+L N  s 7A;;Bc|jt5}tjt j t tdddd|jtjdy#1swY/xYw)Nz0instance exception may not have a separate value) r7rKrrLrr&rM BaseExceptionrrIrNrOs rtest_instance_of_wrong_typez%CAPITests.test_instance_of_wrong_typeYsm   y ) S  , ,##%     S]]+K M  s ;A??Bc|jt5}tjt j dddddd|j tjdy#1swY/xYw)Nabcz1exceptions must be classes, or instances, not str) r7rKrrLrr&rrIrNrOs rtest_not_throwablezCAPITests.test_not_throwableesi   y ) S  , ,##%    S]]+L N  s +A//A8N)__name__ __module__ __qualname__rr!r.r1r5r:r=rErQrTrWr rrr r sBLM J&*NMG%, N M Nrr __main__) __future__rrrBrrrr rXunittestmainr rrr`sE%& bNbNJ zHMMOr