ó oŪļQc@sŪddlZddlZddlZddlTddlmZddlmZyddlZWne k rwdZnXdej fd„ƒYZ e dkrŠejƒndS(iĸĸĸĸN(t*(t find_library(t test_supporttTestcBs5eZd„Zejejdkdƒd„ƒZRS(cs,tdƒ‰ˆdkr*tjdƒ‚ntˆdtƒ}tjdkrW|j}n |j }t t f|_ ˆj |ddƒdƒˆj tƒtjƒˆj tdƒtjƒˆj tƒdƒtr(‡‡fd †}tjd |ƒ}|jƒ|jƒˆj tƒdƒtdƒndS( NtcsUnable to find C libraryt use_errnotnttiiĸĸĸĸi cstdƒtˆdtƒ}tjdkr7|j}n |j}ttf|_ ˆj |ddƒdƒˆj t ƒdƒdS(NiRRRiĸĸĸĸ( t set_errnotCDLLtFalsetostnamet_opentopentc_char_ptc_inttargtypest assertEqualt get_errno(tlibct libc_open(t libc_nametself(s,/sys/lib/python2.7/ctypes/test/test_errno.pyt_workers   ttarget(RtNonetunittesttSkipTestR tTrueR R R RRRRRRterrnotENOENTRt threadingtThreadtstarttjoin(RRRRtt((RRs,/sys/lib/python2.7/ctypes/test/test_errno.pyt test_open s&       RsTest specific to WindowscsÏtddtƒ}|j}tg|_ˆjd|dƒƒˆjtƒdƒˆjtdƒdƒˆjtƒdƒ‡fd†}tj d|ƒ}|j ƒ|j ƒˆjtƒdƒtdƒdS( Ntkernel32tuse_last_erroritfooi~i csRtdƒtddtƒ}|j}tg|_|dƒˆjtƒdƒdS(NiR&R'tbar(tset_last_errortWinDLLR tGetModuleHandleWt c_wchar_pRRtget_last_error(tdlltGetModuleHandle(R(s,/sys/lib/python2.7/ctypes/test/test_errno.pyR=s     R( R+RtGetModuleHandleAR-RRR.R*R R!R"R#(RR/R0RR$((Rs,/sys/lib/python2.7/ctypes/test/test_errno.pyttest_GetLastError1s     (t__name__t __module__R%Rt skipUnlessR R R2(((s,/sys/lib/python2.7/ctypes/test/test_errno.pyR s &t__main__(RR Rtctypest ctypes.utilRttestRR t ImportErrorRtTestCaseRR3tmain(((s,/sys/lib/python2.7/ctypes/test/test_errno.pyts$   E