#!/usr/bin/env python3 import difflib import sys import shutil import subprocess reference_abi = subprocess.check_output(sys.argv[1]).decode().split("\n") launcher = [] if shutil.which("mono"): launcher = ["mono", "--debug"] csharp_abi = subprocess.check_output(launcher + [sys.argv[2]]).decode().split("\n") print("Comparing output of %s and %s" % (sys.argv[1], sys.argv[2])) res = 0 for line in difflib.unified_diff(reference_abi, csharp_abi): res = 1 print(line) if res: files = [(sys.argv[1] + ".res", reference_abi), (sys.argv[2] + 'res', csharp_abi)] for f, vals in files: with open(f, "w") as _f: print("Outputing results in " + f) _f.write("\n".join(vals)) sys.exit(res)