def _suba_engine(file_name, **c): root_dir, file_name = os.path.split(file_name) gen = _suba.template(filename=file_name, root=root_dir, **c) result = '' for part in gen: if part is None: break result = ''.join((result, part)) return result
#!/usr/bin/env python3 import os, sys sys.path.insert(0,"..") from suba import template test_to_run = None if len(sys.argv) > 1: test_to_run = sys.argv[1] for file in os.listdir("."): if file.endswith(".test"): if test_to_run is None or file.startswith(test_to_run): try: output = ''.join(template(filename=file, root=".", stripWhitespace=True, names = ['John','Paul','Ringo'])) except Exception as e: output = str(e) if test_to_run is not None: raise correct = open(os.path.sep.join([".",file.replace(".test",".output")]), "r").read()[:-1] if output != correct: print(file,"FAIL:") print("EXPECTED:") print(correct) print("GOT:") print(output) else: print(file, "PASS.")
def suba_test(N): from suba import template # count the one-time import cost for i in range(N): ret = ''.join(template(filename="bench_suba.tpl", base_path=".", stripWhitespace=False, items = items, name="Suba"))