Nexus File Manager
v2.0
🏠
Dashboard
⚡
System
🌐
›
usr
›
lib64
›
python2.7
›
lib2to3
›
tests
Quick:
⬆️ Parent
🌐 Root
🏠 Home
🌍 WWW
📁 Temp
⚙️ Etc
📤 Upload
📁 Create
⚡ WordPress Admin
🔄 Refresh
✏️ pytree_idempotency.py
← Back
#! /usr/bin/python2.7 # 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()
💻
System Info
Current path
/usr/lib64/python2.7/lib2to3/tests
Contents
1 folders, 30 files
Disk free
101.29 GB
PHP version
8.3.30
🚀
Quick Actions
📍 Script location
🌐 Web root
🗑️ Temp
📁 /usr/lib64/python2.7/lib2to3/tests
⚡ Nexus File Manager • 31 items