Fix some scripts in the peg generator folder (GH-19853)

This commit is contained in:
Pablo Galindo 2020-05-02 05:23:06 +01:00 committed by GitHub
parent 02047265eb
commit 9dbaa8d9f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 16064 additions and 31 deletions

View file

@ -6,14 +6,18 @@ import glob
import tarfile
import zipfile
import shutil
import pathlib
import sys
from typing import Generator, Any
sys.path.insert(0, ".")
from pegen import build
from scripts import test_parse_directory
HERE = pathlib.Path(__file__).resolve().parent
argparser = argparse.ArgumentParser(
prog="test_pypi_packages", description="Helper program to test parsing PyPI packages",
)
@ -53,7 +57,8 @@ def find_dirname(package_name: str) -> str:
def run_tests(dirname: str, tree: int, extension: Any) -> int:
return test_parse_directory.parse_directory(
dirname,
"data/python.gram",
HERE / ".." / ".." / ".." / "Grammar" / "python.gram",
HERE / ".." / ".." / ".." / "Grammar" / "Tokens",
verbose=False,
excluded_files=[
"*/failset/*",
@ -68,6 +73,8 @@ def run_tests(dirname: str, tree: int, extension: Any) -> int:
tree_arg=tree,
short=True,
extension=extension,
mode=1,
parser="pegen",
)
@ -75,9 +82,13 @@ def main() -> None:
args = argparser.parse_args()
tree = args.tree
extension = build.build_parser_and_generator(
"data/python.gram", "peg_parser/parse.c", compile_extension=True
extension = build.build_c_parser_and_generator(
HERE / ".." / ".." / ".." / "Grammar" / "python.gram",
HERE / ".." / ".." / ".." / "Grammar" / "Tokens",
"peg_extension/parse.c",
compile_extension=True,
)
for package in get_packages():
print(f"Extracting files from {package}... ", end="")
try:
@ -91,7 +102,6 @@ def main() -> None:
dirname = find_dirname(package)
status = run_tests(dirname, tree, extension)
if status == 0:
print("Done")
shutil.rmtree(dirname)
else:
print(f"Failed to parse {dirname}")