check-machine-coverage 667 B

12345678910111213141516171819202122232425262728
  1. #! /usr/bin/env python3
  2. from pathlib import Path
  3. import sys
  4. from listmachines import list_machines
  5. metaarm = Path.cwd()
  6. if metaarm.name != "meta-arm":
  7. print("Not running inside meta-arm")
  8. sys.exit(1)
  9. # Find all layers
  10. layers = (p.name for p in metaarm.glob("meta-*") if p.is_dir())
  11. # All machine configurations
  12. machines = list_machines(layers)
  13. # All kas files
  14. kas = metaarm.glob("ci/*.yml")
  15. kas = set(p.stem for p in kas)
  16. missing = machines - kas
  17. print(f"The following machines are missing: {', '.join(sorted(missing))}.")
  18. covered = len(machines) - len(missing)
  19. total = len(machines)
  20. percent = int(covered / total * 100)
  21. print(f"Coverage: {percent}%")