ó
v®¸Qc           @   s¢   d  Z  d Z d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l Z d d l m	 Z	 e j
 ƒ  d	 „  Z d
 „  Z e d k rž e ƒ  n  d S(   s,   Main program for testing the infrastructure.s#   Guido van Rossum <guido@python.org>i   (   t   supportiÿÿÿÿNi   (   t   pytree(   t   driverc    
      C   sj  t  j d ƒ }  t  j |  d t j ƒ} d } | j | d t ƒ} t | | ƒ sY d GHn  t j	 d sj d  Sg  } xÁ t j
 D]¶ } t j
 | } | d  k sz t | d ƒ r¯ qz n  | j } | j d ƒ rÔ | d	  } n  | j d
 ƒ sé qz n  t j d I| IJ| j | d t ƒ} t | | ƒ rz | j | ƒ qz qz Wxt j D]÷ } y t j | ƒ } Wn t j k
 rpq>n Xt j d I| Id IJx¨ | D]  } | j d
 ƒ s¬q‘n  t j d I| IJt j j | | ƒ } y | j | d t ƒ} Wn" t j j k
 r}	 d G|	 GHq‘Xt | | ƒ r‘| j | ƒ q‘q‘Wq>W| sGd GHn d GHx | D] } d G| GHqSWd  S(   Ns   Grammar.txtt   converts
   example.pyt   debugs	   No diffs.i   t   __file__s   .pyciÿÿÿÿs   .pyt   Parsingt   Scannings   ...s   ParseError:s   No problems.  Congratulations!s   Problems in following files:s   ***(   R   t   load_grammart   DriverR   R   t
   parse_filet   Truet   difft   syst   argvt   modulest   Nonet   hasattrR   t   endswitht   stderrt   appendt   patht   ost   listdirt   errort   joint   pgen2t   parset
   ParseError(
   t   grt   drt   fnt   treet   problemst   namet   modt   dirt   namest   err(    (    s6   /sys/lib/python2.7/lib2to3/tests/pytree_idempotency.pyt   main   sX    	c         C   s^   t  d d ƒ } z | j t | ƒ ƒ Wd  | j ƒ  Xz t j d |  ƒ SWd  t j d ƒ Xd  S(   Nt   @t   ws   diff -u %s @(   t   opent   writet   strt   closeR   t   systemt   remove(   R   R    t   f(    (    s6   /sys/lib/python2.7/lib2to3/tests/pytree_idempotency.pyR   P   s    t   __main__(   t   __doc__t
   __author__t    R    R   R   t   loggingR   R   R   t   basicConfigR'   R   t   __name__(    (    (    s6   /sys/lib/python2.7/lib2to3/tests/pytree_idempotency.pyt   <module>   s   
	8	