mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-07 05:14:29 +08:00
24 lines
702 B
Python
24 lines
702 B
Python
import os
|
|
|
|
import parso
|
|
|
|
|
|
def get_python_files(path):
|
|
for dir_path, dir_names, file_names in os.walk(path):
|
|
for file_name in file_names:
|
|
if file_name.endswith('.py'):
|
|
yield os.path.join(dir_path, file_name)
|
|
|
|
|
|
def test_on_itself(each_version):
|
|
"""
|
|
There are obviously no syntax erros in the Python code of parso. However
|
|
parso should output the same for all versions.
|
|
"""
|
|
grammar = parso.load_grammar(version=each_version)
|
|
path = os.path.dirname(os.path.dirname(__file__)) + '/parso'
|
|
for file in get_python_files(path):
|
|
tree = grammar.parse(path=file)
|
|
errors = list(grammar.iter_errors(tree))
|
|
assert not errors
|