summaryrefslogtreecommitdiff
path: root/lib/python2.7/lib2to3/tests/pytree_idempotency.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/lib2to3/tests/pytree_idempotency.py')
-rwxr-xr-xlib/python2.7/lib2to3/tests/pytree_idempotency.py92
1 files changed, 0 insertions, 92 deletions
diff --git a/lib/python2.7/lib2to3/tests/pytree_idempotency.py b/lib/python2.7/lib2to3/tests/pytree_idempotency.py
deleted file mode 100755
index 243f7e8..0000000
--- a/lib/python2.7/lib2to3/tests/pytree_idempotency.py
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2006 Google, Inc. All Rights Reserved.
-# Licensed to PSF under a Contributor Agreement.
-
-"""Main program for testing the infrastructure."""
-
-__author__ = "Guido van Rossum <guido@python.org>"
-
-# Support imports (need to be imported first)
-from . import support
-
-# Python imports
-import os
-import sys
-import logging
-
-# Local imports
-from .. import pytree
-import pgen2
-from pgen2 import driver
-
-logging.basicConfig()
-
-def main():
- gr = driver.load_grammar("Grammar.txt")
- dr = driver.Driver(gr, convert=pytree.convert)
-
- fn = "example.py"
- tree = dr.parse_file(fn, debug=True)
- if not diff(fn, tree):
- print "No diffs."
- if not sys.argv[1:]:
- return # Pass a dummy argument to run the complete test suite below
-
- problems = []
-
- # Process every imported module
- for name in sys.modules:
- mod = sys.modules[name]
- if mod is None or not hasattr(mod, "__file__"):
- continue
- fn = mod.__file__
- if fn.endswith(".pyc"):
- fn = fn[:-1]
- if not fn.endswith(".py"):
- continue
- print >>sys.stderr, "Parsing", fn
- tree = dr.parse_file(fn, debug=True)
- if diff(fn, tree):
- problems.append(fn)
-
- # Process every single module on sys.path (but not in packages)
- for dir in sys.path:
- try:
- names = os.listdir(dir)
- except os.error:
- continue
- print >>sys.stderr, "Scanning", dir, "..."
- for name in names:
- if not name.endswith(".py"):
- continue
- print >>sys.stderr, "Parsing", name
- fn = os.path.join(dir, name)
- try:
- tree = dr.parse_file(fn, debug=True)
- except pgen2.parse.ParseError, err:
- print "ParseError:", err
- else:
- if diff(fn, tree):
- problems.append(fn)
-
- # Show summary of problem files
- if not problems:
- print "No problems. Congratulations!"
- else:
- print "Problems in following files:"
- for fn in problems:
- print "***", fn
-
-def diff(fn, tree):
- f = open("@", "w")
- try:
- f.write(str(tree))
- finally:
- f.close()
- try:
- return os.system("diff -u %s @" % fn)
- finally:
- os.remove("@")
-
-if __name__ == "__main__":
- main()