U
    ø¹Öh©	  ã                   @   s¼   d Z ddlZddlZej ej e¡ejej¡Zej 	de¡ ddl
Z
ddlZe e¡ZddlmZ g ZdZdd„ Zdd„ Zd	d
„ Zdd„ Zedkr¸ddlZe eejdd… Ž p´d¡ dS )z7passlib.tests.tox_support - helper script for tox testsé    N)Úprint_zpasslib.tests.test_handlersc                     s|   ˆ st tƒ dS d‰tˆ ƒ‰ ˆ d dkrDdˆ d  ‰ˆ dd…= qqDqddlm} ‡ ‡fd	d
„t|ƒD ƒ}td |¡ƒ | S )z6return list of hash algorithm tests that match regexesNÚ r   z--methodÚ.é   é   )Útest_handlersc                    s<   g | ]4‰ ˆ   d ¡st‡ fdd„ˆD ƒƒrtd ˆ  ˆ ‘qS )Ú_c                 3   s   | ]}t  |ˆ ¡V  qd S )N)ÚreÚmatch)Ú.0Úarg©Úname© ú?./venv/lib/python3.8/site-packages/passlib/tests/tox_support.pyÚ	<genexpr>*   s     z+do_hash_tests.<locals>.<listcomp>.<genexpr>ú:)Ú
startswithÚanyÚTH_PATH)r   ©ÚargsÚsuffixr   r   Ú
<listcomp>)   s    
 ÿz!do_hash_tests.<locals>.<listcomp>Ú
)Úprintr   ÚlistZpasslib.testsr   Údirr   Újoin)r   r   Únamesr   r   r   Údo_hash_tests   s    r    c                 C   s<   | dks| dkr,t ddƒ | dkr8tdƒ ntd|  ƒ‚dS )z return list of preset test namesZdjangozdjango-hasheszdjango_.*_testZhex_md5_testzpasslib.tests.test_ext_djangozunknown name: %rN)r    r   Ú
ValueErrorr   r   r   r   Údo_preset_tests.   s
    

r"   c                 C   s(   ddl m} |tj | d¡d| ƒ dS )zEwrite fake GAE ``app.yaml`` to current directory so nosegae will workr   )Úset_filezapp.yamlz£application: fake-app
version: 2
runtime: %s
api_version: 1
threadsafe: no

handlers:
- url: /.*
  script: dummy.py

libraries:
- name: django
  version: "latest"
N)Zpasslib.tests.utilsr#   ÚosÚpathr   )r%   Zruntimer#   r   r   r   Údo_setup_gae7   s    òr&   c                 G   s   t ƒ d|   |Ž S )NZdo_)Úglobals)Úcmdr   r   r   r   ÚmainJ   s    r)   Ú__main__r   )Ú__doc__r$   Úsysr%   r   ÚdirnameÚ__file__ÚpardirÚroot_dirÚinsertr	   ZloggingZ	getLoggerÚ__name__ÚlogZpasslib.utils.compatr   Ú__all__r   r    r"   r&   r)   ÚexitÚargvr   r   r   r   Ú<module>   s     
	