1
0

xml_to_csv.py 876 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python3
  2. import sys
  3. import csv
  4. import xml.etree.ElementTree as ET
  5. def convert(xml_file, csv_file):
  6. root = ET.parse(xml_file).getroot()
  7. suite = root.find("testsuite")
  8. if suite is None:
  9. raise ValueError("No <testsuite> found")
  10. tests = int(suite.get("tests", 0))
  11. failures = int(suite.get("failures", 0))
  12. errors = int(suite.get("errors", 0))
  13. skipped = int(suite.get("skipped", 0))
  14. passed = tests - failures - errors - skipped
  15. with open(csv_file, "w", newline="") as f:
  16. writer = csv.writer(f)
  17. writer.writerow(["Tests", "Passed", "Failed", "Skipped"])
  18. writer.writerow([tests, passed, failures + errors, skipped])
  19. if __name__ == "__main__":
  20. if len(sys.argv) != 3:
  21. print(f"Usage: {sys.argv[0]} <input.xml> <output.csv>")
  22. sys.exit(1)
  23. convert(sys.argv[1], sys.argv[2])