a „oe_ã@sTddlZddlZddlZddlZGdd„dƒZGdd„dejƒZedkrPe ¡dS)éNc@seZdZdd„ZdS)ÚCyclecCs||_||_dS)N)ÚcycleÚhandle)Úselfr©rú3C:\Program Files\Certbot\pkgs\win32\test\handles.pyÚ__init__ szCycle.__init__N©Ú__name__Ú __module__Ú __qualname__rrrrrr src@s|eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„ZdS)ÚPyHandleTestCasecs4dd„‰‡fdd„}| t|d¡| t|d¡dS)NcSs6ddl}| dddd¡}|r*t t|ƒ¡dddS©Nré©Ú win32eventÚ CreateEventÚwin32apiÚ CloseHandleÚint)Ú invalidaterÚhrrrÚf1s z)PyHandleTestCase.testCleanup1..f1c s>z ˆ|ƒWn,ty8}ztdƒ‚WYd}~n d}~00dS)z&This function should throw an IOError.zraise 2N)ÚZeroDivisionErrorÚIOError)rÚexc©rrrÚf2s z)PyHandleTestCase.testCleanup1..f2FT)Ú assertRaisesr)rrrrrÚ testCleanup1s zPyHandleTestCase.testCleanup1cCs.ddl}| dddd¡}t t|ƒ¡d}dS©Nrr©rrrrrrÚ testCleanup2)szPyHandleTestCase.testCleanup2cs(ddl‰G‡fdd„dƒ}|ƒ}d}dS)NrcseZdZ‡fdd„ZdS)z+PyHandleTestCase.testCleanup3..Testcs&ˆ dddd¡|_t t|jƒ¡dSr )rrrrr©r©rrrr:sz4PyHandleTestCase.testCleanup3..Test.__init__Nr rr$rrÚTest9sr%r$)rr%Útrr$rÚ testCleanup35szPyHandleTestCase.testCleanup3cCsBddl}| dddd¡}t t|ƒ¡| tj|j¡| ¡dSr )rrrrrrÚerrorÚCloser!rrrÚtestCleanupGoodAs z PyHandleTestCase.testCleanupGoodcCs0t d¡}z | ¡Wntjy*Yn0dS©Néþÿÿÿ)Ú pywintypesÚHANDLEr)rr(©rrrrrÚ testInvalidKs   zPyHandleTestCase.testInvalidcCs2t d¡}t |¡}| ||¡t tj|¡dS©Nr)r-r.Ú assertEqualrZGetProcAddressÚsysÚ dllhandle)rrZh2rrrÚtestOtherHandleYs   z PyHandleTestCase.testOtherHandlecCs(t d¡}t|d}| |d|¡dS©Nr)Úfoor7©r-r.Údictr2©rrÚdrrrÚtestHandleInDictes  z!PyHandleTestCase.testHandleInDictcCs(t d¡}t|d}| |dd¡dSr6r8r:rrrÚtestHandleInDictThenIntjs  z(PyHandleTestCase.testHandleInDictThenIntcCsBt d¡}| |d¡| d|¡| |dk¡| |dk¡dSr1)r-r.ÚassertNotEqualÚ assertFalseÚ assertTruer/rrrÚtestHandleCompareNoneos    z&PyHandleTestCase.testHandleCompareNonecCs–t d¡}| |d¡| |d¡| |dk¡| d|k¡| |dk¡| d|k¡| |dk¡| d|k¡| |dk¡| d|k¡dS)Nrr)r-r.r>r2r@r?r/rrrÚtestHandleCompareIntws   z%PyHandleTestCase.testHandleCompareIntcCs,t d¡}| |¡t d¡}| |¡dSr)r-r.r?r@r/rrrÚtestHandleNonZero…s   z"PyHandleTestCase.testHandleNonZerocCs6z tj}Wnty"tj}Yn0t |d¡dSr1)r3ÚmaxsizeÚAttributeErrorZmaxintr-r.)rZbigrrrÚtestLongŒs    zPyHandleTestCase.testLongcCs"dd„}ddl}|ƒ| ¡dS)NcSst d¡}t|ƒ}dSr+)r-r.r)rÚcrrrÚmakeœs z%PyHandleTestCase.testGC..maker)ÚgcZcollect)rrHrIrrrÚtestGC™szPyHandleTestCase.testGCcCs$| ttjd¡| ttjd¡dS)Nr7r)rÚ TypeErrorr-r.r#rrrÚ testTypes¥szPyHandleTestCase.testTypesN)r r r rr"r'r*r0r5r<r=rArBrCrFrJrLrrrrr s      r Ú__main__) r3Zunittestr-rrZTestCaser r ÚmainrrrrÚs