#!/usr/bin/env python3 # # Copyright © 2022-2024 Collabora, Ltd. # # SPDX-License-Identifier: LGPL-2.1-or-later # # Original author: Xavier Claessens """ This script checks Meson configuration logs to verify no installed file is missing installation tag. """ import argparse import json from pathlib import Path def main(): parser = argparse.ArgumentParser() parser.add_argument("builddir", type=Path, nargs="?", default=".") args = parser.parse_args() print("# TAP version 13") count = 0 bad = 0 path = args.builddir / "meson-info" / "intro-install_plan.json" with path.open(encoding="utf-8") as f: install_plan = json.load(f) for target in install_plan.values(): for info in target.values(): count += 1 if not info["tag"]: bad += 1 dest = info["destination"] print(f"not ok {bad} - Missing install_tag for {dest}") if bad == 0: print(f"ok 1 - All {count} installed files have install_tag") print("1..1") return 0 else: print(f"# {bad}/{count} installed files do not have install_tag") print(f"1..{bad}") return 1 if __name__ == "__main__": exit(main())