a fŸWc© ã@s¼dZddlZddlZej ej e¡ejej¡Zej  de¡ddl Z ddl Z e   e ¡ZddlmZgZdZdd„Zdd„Zd d „Zd d „Ze d kr¸ddlZe eejdd…Žp´d¡dS)z7passlib.tests.tox_support - helper script for tox testséN)Úprint_zpasslib.tests.test_handlerscs|ˆsttƒdSd‰tˆƒ‰ˆddkrDdˆd‰ˆdd…=qqDqddlm}‡‡fd d „t|ƒDƒ}td  |¡ƒ| S) z6return list of hash algorithm tests that match regexesNÚrz--methodÚ.éé)Ú test_handlerscs<g|]4‰ˆ d¡st‡fdd„ˆDƒƒrtdˆˆ‘qS)Ú_c3s|]}t |ˆ¡VqdS)N)ÚreÚmatch)Ú.0Úarg©Úname©ú=/usr/lib/python3.9/site-packages/passlib/tests/tox_support.pyÚ *óz+do_hash_tests...ú:)Ú startswithÚanyÚTH_PATH)r ©ÚargsÚsuffixr rÚ )s ÿz!do_hash_tests..Ú )ÚprintrÚlistZ passlib.testsrÚdirrÚjoin)rrÚnamesrrrÚ do_hash_testss    r!cCs<|dks|dkr,tddƒ|dkr8tdƒn td|ƒ‚dS)z return list of preset test namesZdjangoz django-hasheszdjango_.*_testZ hex_md5_testzpasslib.tests.test_ext_djangozunknown name: %rN)r!rÚ ValueErrorr rrrÚdo_preset_tests.s   r#cCs(ddlm}|tj |d¡d|ƒdS)zEwrite fake GAE ``app.yaml`` to current directory so nosegae will workr)Úset_filezapp.yamlz£application: fake-app version: 2 runtime: %s api_version: 1 threadsafe: no handlers: - url: /.* script: dummy.py libraries: - name: django version: "latest" N)Zpasslib.tests.utilsr$ÚosÚpathr)r&Zruntimer$rrrÚ do_setup_gae7s òr'cGstƒd||ŽS)NZdo_)Úglobals)ÚcmdrrrrÚmainJsr*Ú__main__r)Ú__doc__r%Úsysr&rÚdirnameÚ__file__ÚpardirÚroot_dirÚinsertr ZloggingZ getLoggerÚ__name__ÚlogZpasslib.utils.compatrÚ__all__rr!r#r'r*ÚexitÚargvrrrrÚs