a „oeVã@sddlZddlZddlZddlZddlZddlZd ¡Zd ¡ZddiZ dZ e  d¡Z dd „Z Gd d „d ƒZd d „Zdd„Zdd„ZGdd„dejƒZedk�rddlZejdd�Zejddddd�ejdddd�e ¡\ZZej rðedƒej Z ejdgee_ejeƒd �dS)!éNa)GetSaveFileName print_desktop win32cred_demo win32gui_demo win32gui_dialog win32gui_menu win32gui_taskbar win32rcparser_demo winprocess win32console_demo win32clipboard_bitmapdemo win32gui_devicenotify NetValidatePasswordPolicyz‹cerapi desktopmanager win32comport_demo EvtSubscribe_pull EvtSubscribe_push SystemParametersInfo Zrastest)z-lTz([a-zA-Z0-9_.]*): (.*)$c Csd}| ¡D�]}| d¡}| d¡r,d}q | d¡r8q |�rt |¡}|rš| ¡\}}| dd¡}t|ƒdkrŒt|dƒ}t ||dƒ}qÀt |dƒ}n&zt |  ¡ƒ}d }WnYdS0z t |ƒ}Wn Yn0t |t ƒsê|f}z ||Ž} Wnd} Yn0| Sd}q dS) NFÚasciiz Traceback (Tú Ú.érz())Ú splitlinesÚdecodeÚ startswithÚ re_exceptionÚmatchÚgroupsÚsplitÚlenÚ __import__ÚgetattrÚevalÚstripÚ isinstanceÚtuple) ÚdataZhave_tracebackÚlineÚmÚexc_typeÚargsÚbitsÚmodÚexcÚret©rú3C:\Program Files\Certbot\pkgs\win32\test\testall.pyÚfind_exception_in_output&sD              rc@seZdZdd„Zdd„ZdS)Ú TestRunnercCs||_d |¡|_dS)NzTest Runner for cmdline {})ÚargvÚformatÚ__name__)Úselfr!rrrÚ__init__VszTestRunner.__init__cCspddl}|j|j|j|jd�}| ¡\}}|j}|rltj  |jd¡}t |ƒ}|durZ|‚t d|||fƒ‚dS)Nr)ÚstdoutÚstderrrz+%s failed with exit code %s. Output is: %s) Ú subprocessÚPopenr!ÚPIPEZSTDOUTZ communicateÚ returncodeÚosÚpathÚbasenamerÚAssertionError)r$r(ÚpÚoutputÚ_ÚrcÚbaseZ reconstitutedrrrÚ__call__Zs ÿ  ÿzTestRunner.__call__N)r#Ú __module__Ú __qualname__r%r5rrrrr Usr cCsÄddl}g}tj tj tj t¡dd¡¡}tj |¡s@J|ƒ‚t |¡D]t}tj  |¡\}}|t vrlt rlqJ|dksJ|t vr~qJt jtj ||d¡ft |d¡}| tjt|ƒd|d�¡qJ|S)Nrz..ZDemosú.pyrz win32/demos/©Ú description)Úwin32apir,r-ÚabspathÚjoinÚdirnameÚ__file__ÚisdirÚlistdirÚsplitextÚui_demosÚno_user_interactionÚ bad_demosÚsysÚ executableÚargvsÚgetÚappendÚunittestÚFunctionTestCaser )r;rZdemo_dirÚnamer4Úextr!rrrÚget_demo_testsns&  ÿ ÿÿrOcCsÚz ddl}WntyYn0ddl}tj |j¡}d}tj |j¡ d¡}t  |¡D]|}tj  |¡\}}|  d¡d}|dkrX|dkrX|r˜| d¡s¦|sX| d¡sXz t |ƒWnt d|ƒ‚Yn0|d7}qXdS)NrZ_drz.pydz_winxptheme.pydzFAILED to importr)Úwin32uiÚ ImportErrorr;r,r-r>r?r.ÚendswithrArBr rÚprint)rPr;ÚdirZnumZis_debugrMr4rNrrrÚ import_all†s:  ÿþüûúù   rUcCszt}Wnty$tjd}Yn0tj |¡}t tj |¡¡}t   ¡}|  t   t ¡¡|D]ˆ}tj |¡\}}|dkr`tj |¡|kr`z t|ƒ}Wn$td|ƒt ¡Yq`Yn0t|dƒrÒ| ¡}n t j |¡}|  |¡q`tƒD]}|  |¡qð|S)Nrr8zFAILED to import test module %rÚsuite)r?Ú NameErrorrFr!r,r-r<rAr>rKZ TestSuiteZaddTestrLrUrBr.rrSÚ tracebackÚ print_excÚhasattrrVZdefaultTestLoaderÚloadTestsFromModulerO)ÚmeÚfilesrVÚfiler4rNrÚtestrrrrV¨s0           rVc@seZdZdd„ZdS)Ú CustomLoadercCs | tƒ¡S)N)ZfixupTestsForLeakTestsrV)r$Úmodulerrrr[Æsz CustomLoader.loadTestsFromModuleN)r#r6r7r[rrrrr`Åsr`Ú__main__zTest runner for PyWin32/win32r9z-no-user-interactionFÚ store_truezC(This is now the default - use `-user-interaction` to include them))ÚdefaultÚactionÚhelpz-user-interactionz,Include tests which require user interaction)rerfz\Note: -no-user-interaction is now the default, run with `-user-interaction` to include them.)Z testLoader) r,ÚrerFrXrKZpywin32_testutilr rCrErHrDÚcompiler rr rOrUrVZ TestLoaderr`r#ÚargparseÚArgumentParserÚparserÚ add_argumentÚparse_known_argsZ parsed_argsZremainsrSZuser_interactionr!ZtestmainrrrrÚsN ÿ /"  üý ÿ