ó
v®¸Qc           @   s3  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	 „  Z d d d
 „ Z d „  Z d d d d „ Z d „  Z e j Z d S(   s    Support code for test_*.py filesiÿÿÿÿN(   t   dedent(   t   pytreet   refactor(   t   drivers   ..s   Grammar.txtt   convertc         C   s   t  j t |  ƒ d t ƒS(   Nt   debug(   R   t   parse_stringt   reformatt   True(   t   string(    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyR      s    c         C   sA   | d  k r$ t j ƒ  j |  ƒ } n  t j d d ƒ j | ƒ d  S(   Nt	   verbosityi   (   t   Nonet   unittestt
   TestLoadert   loadTestsFromModulet   TextTestRunnert   run(   t   test_modt   tests(    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyt   run_all_tests   s    c         C   s   t  |  ƒ d S(   Nu   

(   R    (   R	   (    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyR      s    t   lib2to3c         C   se   | d k	 r0 g  | D] } |  d | ^ q } n t j |  d ƒ } | pL i  } t j | | d t ƒS(   s
  
    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.
    s   .fixes.fix_s   .fixest   explicitN(   R   R   t   get_fixers_from_packaget   RefactoringToolR   (   t	   fixer_pkgt   fixerst   optionst   fix(    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyt   get_refactorer!   s
    $c          c   s^   xW t  j t ƒ D]F \ }  } } x4 | D], } | j d ƒ r& t  j j |  | ƒ Vq& q& Wq Wd  S(   Ns   .py(   t   ost   walkt   proj_dirt   endswitht   patht   join(   t   dirpatht   dirnamest	   filenamest   filename(    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyt   all_project_files0   s    (    t   __doc__R   t   sysR   t   os.patht   ret   textwrapR    R   R   R   t   lib2to3.pgen2R   R!   t   dirnamet   __file__t   test_dirt   normpathR"   R   t   grammar_patht   load_grammart   grammart   DriverR   R   R   R   R   R   R'   t   TestCase(    (    (    s+   /sys/lib/python2.7/lib2to3/tests/support.pyt   <module>   s&   !			