ó oŽ¸Qc@sŁddlZddlTddlZdejfd„ƒYZyeWnek rVnXdefd„ƒYZdejfd„ƒYZe d krŸej ƒndS( i˙˙˙˙N(t*t CallbackscBsËeZeZd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d„Z d „Z d „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(cGs||_|dS(Ni˙˙˙˙(tgot_args(tselftargs((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pytcallback s cCs÷|jj||ƒ}||jƒ|ƒ}|tkrO|j||ddƒn&|j|j|fƒ|j||ƒ|jj|t|ƒ}||jƒd|ƒ}|tkrĘ|j||ddƒn)|j|jd|fƒ|j||ƒdS(Ntplacesiiý˙˙˙(tfunctypetim_funcRtc_floattassertAlmostEqualt assertEqualRtc_byte(RttyptargtPROTOtresult((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt check_types  cCs$|jtdƒ|jtdƒdS(Ni*iÖ˙˙˙(RR (R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_byte#scCs|jtdƒdS(Ni*(Rtc_ubyte(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_ubyte'scCs$|jtdƒ|jtdƒdS(Ni*iÖ˙˙˙(Rtc_short(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_short*scCs|jtdƒdS(Ni*(Rtc_ushort(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_ushort.scCs$|jtdƒ|jtdƒdS(Ni*iÖ˙˙˙(Rtc_int(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_int1scCs|jtdƒdS(Ni*(Rtc_uint(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_uint5scCs$|jtdƒ|jtdƒdS(Ni*iÖ˙˙˙(Rtc_long(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_long8scCs|jtdƒdS(Ni*(Rtc_ulong(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_ulong<scCsD|jtdƒ|jtdƒ|jtdƒ|jtdƒdS(Nl%úuYOdlű˙˙˙tN”Di*iÖ˙˙˙(Rt c_longlong(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_longlong?scCs4|jtdƒ|jtdƒ|jtdƒdS(NlĆa-EK@ lb@“zÁ]ţi*(Rt c_ulonglong(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_ulonglongFscCs7ddl}|jt|jƒ|jt|j ƒdS(Ni˙˙˙˙(tmathRR te(RR%((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_floatLs cCs$|jtdƒ|jtdƒdS(Ng…ëQ¸ @g…ëQ¸ Ŕ(Rtc_double(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_doubleRscCs$|jtdƒ|jtdƒdS(Ng…ëQ¸ @g…ëQ¸ Ŕ(Rt c_longdouble(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_longdoubleVscCs$|jtdƒ|jtdƒdS(Ntxta(Rtc_char(R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_charZscCs—d}ddlm}xzdgtƒfD]f}||ƒ}|jt|ƒ||ƒ}|jt|ƒ||ƒ}|j||f||fƒq)WdS(Ni˙˙˙˙(t getrefcount(((tsysR0tobjectRt py_objectR (Rtotgrctinitialtbeforetafter((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt test_pyobjectes   cCs2|jjttƒƒ}|jt|d„ƒdS(NcSsdS(N(tNone(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pytys(RRtPOINTERR(t assertRaisest TypeError(Rt prototype((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_unsupported_restype_1rscCs,|jjtƒ}|jt|d„ƒdS(NcSsdS(N(R:(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyR;}s(RRR2R=R>(RR?((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_unsupported_restype_2{scsŞ|jjdƒ‰dtf‡fd†ƒY}ddl}xtdƒD] }|ƒqGW|jƒg|jƒD]}t||ƒro|^qo}|j t |ƒdƒdS(NtXcs eZd„Z‡fd†ZRS(cSsdS(N((R((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pytfuncƒscsˆ|jƒ|_dS(N(RCtv(R(tproto(s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt__init__„s(t__name__t __module__RCRF((RE(s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRB‚s i˙˙˙˙i i( RRR:R2tgctrangetcollectt get_objectst isinstanceR tlen(RRBRItiR,tlive((REs0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_issue_7959s   csBddl‰dd‡fd†ƒY}tdƒ|ƒd„ƒdS(Ni˙˙˙˙tNastycseZ‡fd†ZRS(csˆjƒdS(N(RK(R(RI(s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyt__del__’s(RGRHRS((RI(s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRR‘scSsdS(N(R:(R,((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyR;”s((RIt CFUNCTYPER:(RRR((RIs0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_issue12483s (RGRHRTRRRRRRRRRRR R"R$R'R)R+R/R9R@RARQRU(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRs,                 tStdcallCallbackscBseZeZRS((RGRHt WINFUNCTYPER(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRVœstSampleCallbacksTestCasecBsQeZd„Zd„ZyeWnek r3n Xd„Zd„Zd„ZRS(cCs˜ttjƒ}tttƒ}|j}tt|tf|_t|_d„}|dd||ƒdƒ}t |ddƒ}|j |dd|ƒdS(NcSs|dS(Ni((R,((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRCŻsggđ?i g@gzŽGáz„?s%s not less than 0.01( tCDLLt _ctypes_testt__file__RTR(t integrateRtargtypestrestypetabst assertLess(RtdlltCALLBACKR\RCRtdiff((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_integrateŁs   cCsťddlm}|dƒ}|s&dSt|ƒ}ttttƒttƒƒd„ƒ}tdddddd ƒ}|j|t|ƒttƒ|ƒ|j |dddd dgƒdS( Ni˙˙˙˙(t find_librarytccSs|d|dS(Ni((R-tb((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pytcmp_funcžsiiicii!( t ctypes.utilReRYRTRR<tqsortRNtsizeofR (RRet libc_pathtlibcRhtarray((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_issue_8959_aˇs  '"cCsTddlm}m}m}dat|||ƒd„ƒ}tjj|dƒdS(Ni˙˙˙˙(tBOOLtHWNDtLPARAMicSstd7atS(Ni(t windowCounttTrue(thwndtlParam((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pytEnumWindowsCallbackFuncŃs ( tctypes.wintypesRpRqRrRsRWtwindlltuser32t EnumWindows(RRpRqRrRw((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_issue_8959_bĚsc Cs§ttjƒ}tttttttƒ}|j}ttttt|f|_t|_d„}|ddddd||ƒƒ}|j||ddd d d ƒƒdS( NcSs|||||S(N((R-RgRftdR&((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRăsiiiiiii iii$( RYRZR[RTRt_testfunc_cbk_reg_intR]R^R (RRaRbRCRR((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_callback_register_intŮs   !c Cs§ttjƒ}tttttttƒ}|j}ttttt|f|_t|_d„}|ddddd||ƒƒ}|j||ddd d d ƒƒdS( NcSs|||||S(N((R-RgRfR}R&((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRősg™™™™™™ń?g™™™™™™@gffffff @g™™™™™™@g@gZÂő(\ó?gZÂő(\@gGázŽÇ%@gZÂő(\3@g@>@( RYRZR[RTR(t_testfunc_cbk_reg_doubleR]R^R (RRaRbRCRR((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyttest_callback_register_doubleés     ! ( RGRHRdRoRWt NameErrorR|RR(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyRXĄs    t__main__( tunittesttctypesRZtTestCaseRRWR‚RVRXRGtmain(((s0/sys/lib/python2.7/ctypes/test/test_callbacks.pyts   ’ ^