ó oŽ¸Qc@sčdZddlTddlZddlZyeWnek rIeZnXddlZeej ƒZ ej dkr†e ej ƒZ ndefd„ƒYZdefd„ƒYZd ejfd „ƒYZed kräejƒndS( sh Here is probably the place to write the docs, since the test-cases show how the type behave. Later... i˙˙˙˙(t*Ntwin32tPOINTcBs eZdefdefgZRS(txty(t__name__t __module__tc_intt_fields_(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRstRECTcBs2eZdefdefdefdefgZRS(tleftttoptrighttbottom(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyR stFunctionTestCasecBsűeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Z d„Zd„ZejdkrĚd„Znd„Zejdkrđd„Znd„ZRS(cCsčydttfd„ƒY}Wntk r0nXddlm}ydt|fd„ƒY}Wntk rqnXddlm}ydt|fd„ƒY}Wntk r˛nXydttfd„ƒY}Wntk rănXdS( NtXcBseZdZdZRS(iti(RRt_length_t_type_(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyR&si˙˙˙˙(t_PointercBseZRS((RR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyR/s(t _SimpleCDatacBseZdZRS(R(RRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyR6scBseZgZRS((RRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyR<s(tobjecttArrayt TypeErrort_ctypesRRt Structure(tselfRRR((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_mros$    cCs†ytWntk rdSXtj}ttttttg|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒdS(Niuxiig@g@i‹( tc_wchart NameErrortdllt_testfunc_i_bhilfdtc_byteRtc_longtc_floattc_doubletargtypest assertEqualttypetint(Rtftresult((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_wchar_parmBs  cCsyytWntk rdSXtj}tttttt g|_ t|_ |ddddddƒ}|j |dƒdS(Niu( RRRRR tc_shortRR!R"R#R$trestypeR%(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_wchar_resultMs   cCsltj}d|_ttttƒg|_tƒ}|jd|ddt|ƒƒƒ|j|j dƒdS(Niii( Rt _testfunc_vtNoneR,RtPOINTERR$R%tbyreftvalue(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_voidresultXs    "cCsWtj}ttttttg|_t|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒ|dd d d d d ƒ}|j |dƒ|j t |ƒt ƒt|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒ|ddddddƒ}|j |dƒ|j t |ƒt ƒ|j tt|ddƒdS(Niiiig@g@ii˙˙˙˙iţ˙˙˙iý˙˙˙iü˙˙˙gŔgŔië˙˙˙iR,R(RRR R+RR!R"R#R$R,R%R&R't assertRaisesRtsetattr(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_intresult`s"   cCsłtj}ttttttg|_t|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒ|dd d d d d ƒ}|j |dƒ|j t |ƒt ƒdS(Niiiig@g@ii˙˙˙˙iţ˙˙˙iý˙˙˙iü˙˙˙gŔgŔië˙˙˙( Rt_testfunc_f_bhilfdR R+RR!R"R#R$R,R%R&tfloat(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_floatresultzs  cCsłtj}ttttttg|_t|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒ|dd d d d d ƒ}|j |dƒ|j t |ƒt ƒdS(Niiiig@g@ii˙˙˙˙iţ˙˙˙iý˙˙˙iü˙˙˙gŔgŔië˙˙˙( Rt_testfunc_d_bhilfdR R+RR!R"R#R$R,R%R&R8(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_doubleresult†s  cCsłtj}ttttttg|_t|_ |ddddddƒ}|j |dƒ|j t |ƒt ƒ|dd d d d d ƒ}|j |dƒ|j t |ƒt ƒdS(Niiiig@g@ii˙˙˙˙iţ˙˙˙iý˙˙˙iü˙˙˙gŔgŔië˙˙˙( Rt_testfunc_D_bhilfDR R+RR!R"t c_longdoubleR$R,R%R&R8(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_longdoubleresult’s  cCs×ytWntk rdSXtj}t|_ttttt t g|_ |ddddddƒ}|j |dƒtj }t|_ttttt t tg|_ |dddddddƒ}|j |dƒdS( Niiiig@g@ii*(t c_longlongRRt_testfunc_q_bhilfdR,R R+RR!R"R#R$R%t_testfunc_q_bhilfdq(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_longlongresultžs     cCsWtj}d|_t|_|dƒ}|j|dƒ|dƒ}|j|dƒdS(Nt123(Rt _testfunc_p_pR/R$tc_char_pR,R%(RR(R)((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_stringresultŻs     cCsqtj}ttƒ|_ttƒg|_tdƒ}|jt|ƒjj dƒ|t|ƒƒ}|jt |ƒttƒƒ|j|jj dƒ|t|ƒƒ}|j|jj |j ƒttdƒƒ}||ƒ}|j|jj dƒt |ƒ}||ƒ}|j |j|j ƒ|j t|t tdƒƒƒ|t tdƒƒƒ}|j |jdƒdS(Ni*ici(RRDR0RR,R$R%tpointertcontentsR2R&R1tassertNotEqualR4t ArgumentErrorR+(RR(tvR)tptarg((s0/sys/lib/python2.7/ctypes/test/test_functions.pyt test_pointersšs&     cCsBtj}t|_dtfd„ƒY}|jt||ƒƒdS(NRcBseZdefgZRS(R(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRŕs(RRDRR,RR4R(RR(R((s0/sys/lib/python2.7/ctypes/test/test_functions.pyt test_errorsÜs  cs™tj}g‰ddddddddd d d d d ddddddg}‡fd†}tttƒ}||ƒ}|d|ƒ|jˆ|ƒdS(Niiii€i@i iiiiii€i@i iiiiicsˆj|ƒ|S(N(tappend(RK(targs(s0/sys/lib/python2.7/ctypes/test/test_functions.pytcallbackís ii(Rt_testfunc_callback_i_ift CFUNCTYPERR%(RR(texpectedRRtCallBacktcb((RQs0/sys/lib/python2.7/ctypes/test/test_functions.pyt test_shortsćs '  cCsÖtj}t|_d|_tttƒ}d„}||ƒ}|d|ƒ}|j|dƒt|g|_||ƒ}|d|ƒ}|j|dƒttttttƒ}||ƒ}|j t |d|ƒdS(NcSs|S(N((R2((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRRsiö˙˙˙iî˙˙˙( RRSRR,R/R$RTR%t WINFUNCTYPER4RJ(RR(t MyCallbackRRRWR)tAnotherCallback((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_callbacksús       csntj}t|_tttƒ}t|g|_‡fd†}||ƒ}|d|ƒ}ˆj|dƒdS(Ncsˆjt|ƒtƒ|S(N(R%R&R'(R2(R(s0/sys/lib/python2.7/ctypes/test/test_functions.pyRR"siö˙˙˙iî˙˙˙(RRSRR,RTR$R%(RR(RZRRRWR)((Rs0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_callbacks_2s   cshtj}t|_tttƒ}t|g|_‡fd†}||ƒ}ˆjd|d|ƒƒdS(Ncs$ˆjt|ttfƒƒ|d@S(Ni˙˙˙(t assertTruet isinstanceR'tlong(R2(R(s0/sys/lib/python2.7/ctypes/test/test_functions.pyRR4sló”R lJ)Ł(Rt_testfunc_callback_q_qfR?R,RTR$R%(RR(RZRRRW((Rs0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_longlong_callbacks+s   cCs3|jtttdƒ|jttjtdƒdS(Nt_xxx_yyy(R4tAttributeErrortgetattrRt ValueErrorRtin_dll(R((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRO<scCsŢtddƒ}tƒ}tj|t|ƒƒ}||j|jf}d}|j||ƒtddƒ}tƒ}tttƒftj_t tj_ tj|t|ƒƒ}||j|jf}d}|j||ƒdS( NiiiieifiË(iii(iËieif( RRt_testfunc_byvalR1RRR%R0R$RR,(RtptintptoutR)tgotRU((s0/sys/lib/python2.7/ctypes/test/test_functions.pyt test_byval@s   cCsudtfd„ƒY}|tj_|gtj_|ddƒ}tj|ƒ}|j|j|jfddfƒdS( NtS2HcBs eZdefdefgZRS(RR(RRR+R(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRmVs iciXiiiĆi(RRt ret_2h_funcR,R$R%RR(RRmtinpts2h((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_struct_return_2HUs  RcCsodtfd„ƒY}|tj_|gtj_tj|ddƒƒ}|j|j|jfddfƒdS( NRmcBs eZdefdefgZRS(RR(RRR+R(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRmas iciXiiiĆi(Rtwindllt s_ret_2h_funcR,R$R%RR(RRmRp((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_struct_return_2H_stdcall`s  c Cs˝dtfd„ƒY}|tj_|gtj_|ddddddd d ƒ}tj|ƒ}|j|j|j|j|j |j |j |j |j fd d d dddddfƒdS(NtS8Ic BsVeZdefdefdefdefdefdefdefdefgZRS(tatbtctdteR(tgth(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRuks       i iiiiiiiiiiiiiii(RRt ret_8i_funcR,R$R%RvRwRxRyRzR(R{R|(RRuRots8i((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_struct_return_8Hjs !9c Cs˝dtfd„ƒY}|tj_|gtj_|ddddddd d ƒ}tj|ƒ}|j|j|j|j|j |j |j |j |j fd d d dddddfƒdS(NRuc BsVeZdefdefdefdefdefdefdefdefgZRS(RvRwRxRyRzR(R{R|(RRRR(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRu}s       i iiiiiiiiiiiiiii(RRrt s_ret_8i_funcR,R$R%RvRwRxRyRzR(R{R|(RRuRoR~((s0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_struct_return_8H_stdcall|s !9csDttttƒ}d„‰|ˆƒ‰|jt‡fd†ƒdS(NcWsdS(Ni((RQ((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRR‘scsˆdtƒƒS(Niiii(iiii(R((RR(s0/sys/lib/python2.7/ctypes/test/test_functions.pyt•s(RTRR RR4RJ(Rtproto((RRs0/sys/lib/python2.7/ctypes/test/test_functions.pyttest_sf1651235s  (RRRR*R-R3R6R9R;R>RBRFRNRORXR\R]RbRlRqtsystplatformRtRRR„(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyRs2 %    #         t__main__(t__doc__tctypesR…tunittestRYRRTt _ctypes_testtCDLLt__file__RR†tWinDLLRrRRR tTestCaseRRtmain(((s0/sys/lib/python2.7/ctypes/test/test_functions.pyts     ˙}