B
     S]	                 @   s   d Z ddlm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m
Z
 dd
l
mZ e  dd Zdd Zedkre  dS )z,Main program for testing the infrastructure.    )print_functionz#Guido van Rossum <guido@python.org>   )supportN   )pytree)pgen2)driverc        
      C   s  t d} t j| tjd}d}|j|dd}t||s>td tj	dd  sPd S g }xtj
D ]|}tj
| }|d ks\t|ds~q\|j}|d	r|d d
 }|dsq\td|tjd |j|dd}t||r\|| q\W xtjD ]}yt|}W n tk
r   wY nX td|dtjd x|D ]}|ds<q(td|tjd tj||}y|j|dd}W n2 tjjk
r }	 ztd|	 W d d }	~	X Y nX t||r(|| q(W qW |std n"td x|D ]}td| qW d S )NzGrammar.txt)convertz
example.pyT)debugz	No diffs.r   __file__z.pycz.pyZParsing)fileZScanningz...zParseError:zNo problems.  Congratulations!zProblems in following files:z***)r   Zload_grammarZDriverr   r	   Z
parse_filediffprintsysargvmoduleshasattrr   endswithstderrappendpathoslistdirOSErrorjoinr   parseZ
ParseError)
ZgrZdrfntreeZproblemsnamemoddirnameserr r$   1lib/python3.7/lib2to3/tests/pytree_idempotency.pymain   sX    








r&   c          	   C   sH   t dd}z|t| W d |  X ztd|  S td X d S )N@wzdiff -u %s @)openwritestrcloser   systemremove)r   r   fr$   r$   r%   r   R   s    

r   __main__)__doc__Z
__future__r   
__author__ r   r   r   Zloggingr   r   r   ZbasicConfigr&   r   __name__r$   r$   r$   r%   <module>   s   8