
…Æ.^±  ã               @   sB  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m	 Z	 m
 Z
 d d l m Z e j j e ƒ Z e j j e j j e d ƒ ƒ Z e j j e d d ƒ Z e j e ƒ Z e j e d e	 j ƒZ d	 d
 „  Z d d d d „ Z d d „  Z d d d d d „ Z d d „  Z e j Z d S)z Support code for test_*.py filesé    N)Údedent)ÚpytreeÚrefactor)Údriverz..zGrammar.txtÚconvertc             C   s   t  j t |  ƒ d d ƒS)NÚdebugT)r   Úparse_stringÚreformat)Ústring© r   úL/build/toolchain/mac32/python-3.5.2-openssl1.0.2u-1/lib/python3.5/support.pyr      s    r   c             C   s>   | d  k r! t  j ƒ  j |  ƒ } t  j d d ƒ j | ƒ d  S)NÚ	verbosityé   )ÚunittestZ
TestLoaderZloadTestsFromModuleZTextTestRunnerÚrun)Ztest_modZtestsr   r   r   Úrun_all_tests   s    r   c             C   s   t  |  ƒ d S)Nz

)r   )r
   r   r   r   r	      s    r	   Úlib2to3c                s]   | d k	 r( ‡  f d d †  | Dƒ } n t  j ˆ  d ƒ } | pD i  } t  j | | d d ƒS)a
  
    A convenience function for creating a RefactoringTool for tests.

    fixers is a list of fixers for the RefactoringTool to use. By default
    "lib2to3.fixes.*" is used. options is an optional dictionary of options to
    be passed to the RefactoringTool.
    Nc                s   g  |  ] } ˆ  d  | ‘ q S)z.fixes.fix_r   )Ú.0Zfix)Ú	fixer_pkgr   r   ú
<listcomp>*   s   	 z"get_refactorer.<locals>.<listcomp>z.fixesZexplicitT)r   Zget_fixers_from_packageZRefactoringTool)r   ZfixersÚoptionsr   )r   r   Úget_refactorer!   s
    r   c              c   s[   xT t  j t ƒ D]C \ }  } } x1 | D]) } | j d ƒ r& t  j j |  | ƒ Vq& Wq Wd  S)Nz.py)ÚosÚwalkÚproj_dirÚendswithÚpathÚjoin)ÚdirpathÚdirnamesÚ	filenamesÚfilenamer   r   r   Úall_project_files0   s    r"   )Ú__doc__r   Úsysr   Zos.pathÚreÚtextwrapr   r   r   r   Zlib2to3.pgen2r   r   ÚdirnameÚ__file__Ztest_dirÚnormpathr   r   Zgrammar_pathZload_grammarZgrammarZDriverr   r   r   r	   r   r"   ZTestCaser   r   r   r   Ú<module>   s&   !