
    g	                        S r SSKrSSKr\R                  R	                  \R                  R                  \5      \R                  \R                  5      r\R                  R                  S\5        SSK
r
SSKr\R                  " \5      rSSKJr  / rSrS rS rS rS r\S	:X  a0  SSKr\R.                  " \" \R0                  S
S 6 =(       d    S5        gg)z7passlib.tests.tox_support - helper script for tox tests    N)print_zpasslib.tests.test_handlersc                    ^ U (       d  [        [        5        gSn[        U 5      n  U S   S:X  a  SU S   -   nU SS2	 OOM  SSKJn  [        U5       V^s/ s HF  mTR                  S	5      (       a  M  [        U4S
 jU  5       5      (       d  M7  [        S-   T-   U-   PMH     nn[        SR                  U5      5        U(       + $ s  snf )z6return list of hash algorithm tests that match regexesN r   z--method.      )test_handlers_c              3   R   >#    U  H  n[         R                  " UT5      v   M     g 7f)N)rematch).0argnames     R/home/matz/Project1/venv/lib/python3.13/site-packages/passlib/tests/tox_support.py	<genexpr> do_hash_tests.<locals>.<genexpr>*   s     0Tt#d1C1Cts   $':
)
printTH_PATHlistpasslib.testsr	   dir
startswithanyr   join)argssuffixr	   r   namess      ` r   do_hash_testsr!      s    gF:D
7j 47]FRaR  ,7:=7I V7ItOOC( +-00Tt0T-T +Ws]T!F*7IE V
499U9Vs   C3CCc                 t    U S:X  d  U S:X  a  [        SS5        U S:X  a  [        S5        gg[        SU -  5      e)z return list of preset test namesdjangozdjango-hasheszdjango_.*_testhex_md5_testzpasslib.tests.test_ext_djangozunknown name: %rN)r!   r   
ValueError)r   s    r   do_preset_testsr&   .   sE    x4?2&7823  +d233    c                 d    SSK Jn  U" [        R                  R	                  U S5      SU-  5        g)zEwrite fake GAE ``app.yaml`` to current directory so nosegae will workr   )set_filezapp.yamlzapplication: fake-app
version: 2
runtime: %s
api_version: 1
threadsafe: no

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

libraries:
- name: django
  version: "latest"
N)passlib.tests.utilsr)   ospathr   )r,   runtimer)   s      r   do_setup_gaer.   7   s-    ,RWW\\$
+ . . r'   c                 (    [        5       SU -      " U6 $ )Ndo_)globals)cmdr   s     r   mainr3   J   s    9US[!4((r'   __main__r   )__doc__r+   sysr,   r   dirname__file__pardirroot_dirinsertr   logging	getLogger__name__logpasslib.utils.compatr   __all__r   r!   r&   r.   r3   exitargv r'   r   <module>rE      s    = 77<<1299biiH 8  
 g''1 ( (&4&) zHHT388AB< %A& r'   