#!/usr/bin/env python3 from glob import glob from os import remove, system from functools import partial from pathlib import Path from sys import argv, stderr from os.path import splitext, basename eprint = partial(print, file=stderr) if len(argv) >= 2 and argv[1] == "-a": accept = True else: accept = False TEST_FOLDER = "test_output" system(f"mkdir -p {TEST_FOLDER}") system(f"rm -rf {TEST_FOLDER}/*.out") for lp in glob("programs/*.lp"): base = basename(splitext(lp)[0]) out_path = Path() / TEST_FOLDER / f"{base}.out" accept_path = Path() / TEST_FOLDER / f"{base}.accept" diff_path = Path() / TEST_FOLDER / f"{base}.diff" system(f"python3 propagator.py {lp} > {out_path}") if accept: system(f"cp {out_path} {accept_path}") else: system(f"diff {out_path} {accept_path} > {diff_path}") for diff in glob(f"{TEST_FOLDER}/*.diff"): with open(diff, "tr", encoding="utf8") as diff_fo: if diff_fo.read(1) == "": remove(diff)