o ‘Šía³ ã@sfddlZddlZddlZddlZddlZddlZddlZddlmZdZ dd„Z Gdd„dej ƒZ dS) éNé)ÚSCRIPTSécCs$t ¡}t ¡| | t¡¡|S)zDGive HelpTestCase a chance to populate before loading its test cases)ÚunittestÚ TestSuiteÚ HelpTestCaseÚpopulateÚaddTestsÚloadTestsFromTestCase)ÚloaderÚtestsÚpatternÚsuite©rú;/usr/lib/python3/dist-packages/devscripts/test/test_help.pyÚ load_testssrc@s$eZdZedd„ƒZedd„ƒZdS)rcCs,tD]}|dkrt|d|| |¡ƒqdS)NÚ debootsnapÚtest_)rÚsetattrÚmake_help_tester)ÚclsÚscriptrrrr's €þzHelpTestCase.populatecs‡fdd„}|S)Nc sTtjdˆdgdtjtjtjd{}t ¡}g}|j ¡|j ¡g}|D]}t |tj t |tj ¡t j B¡q$t ¡|t krdt |g|t ¡dD] }| t  |d¡¡qI| ¡dur\nt ¡|t ks?| ¡dur…t  |jtj¡t d¡| ¡dur…t  |jtj¡Wdƒn1swY| | ¡ddˆt d  d ¡ |¡f¡dS) Nz./z--helpT)Ú close_fdsÚstdinÚstdoutÚstderrrirz7%s failed to return usage within %i seconds. Output: %sÚÚascii)Ú subprocessÚPopenÚDEVNULLÚPIPEÚtimerÚfilenorÚfcntlÚF_SETFLÚF_GETFLÚosÚ O_NONBLOCKÚTIMEOUTÚselectÚappendÚreadÚpollÚkillÚpidÚsignalÚSIGTERMÚsleepÚSIGKILLÚ assertEqualÚencodeÚjoin)ÚselfÚprocessÚstartedÚoutÚfdsÚfd©rrrÚtester0s>ý ÿ ü   €ê þÿz-HelpTestCase.make_help_tester..testerr)rrr>rr=rr.s zHelpTestCase.make_help_testerN)Ú__name__Ú __module__Ú __qualname__Ú classmethodrrrrrrr&s  r) r$r'r*r0rr"rrrr)rÚTestCaserrrrrÚs