blob: 119683b74d7489b4a8f02eb97a31a3aae722b351 [file]
#!/usr/bin/env python3
# SPDX-License-Identifier: Apache-2.0
# Copyright © 2026 Arthur Grillo
import argparse
import subprocess
import sys
import difflib
def compare(actual: str, expected: str) -> int:
if actual == expected:
return 0
diff = difflib.ndiff(expected, actual)
for line in diff:
print(line, file=sys.stderr, end='')
return 1
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument('meson_cmd_path', nargs='+')
args = parser.parse_args()
result = subprocess.run([
*args.meson_cmd_path,
'format',
'--recursive',
'--subprojects',
'--check-diff',
], capture_output=True, text=True)
with open('subprojects/find-me/expected.diff', 'r', encoding='utf-8') as f:
actual = result.stdout.replace('\\', '/')
expected = f.read()
return compare(
actual,
expected,
)
if __name__ == "__main__":
sys.exit(main())