upower/.ci/fail_skipped_tests.py
2025-01-08 14:01:34 +08:00

40 lines
963 B
Python
Executable file

#!/usr/bin/python3
from lxml import etree
import sys
def format_title(title):
"""Put title in a box"""
box = {
"tl": "",
"tr": "",
"bl": "",
"br": "",
"h": "",
"v": "",
}
hline = box["h"] * (len(title) + 2)
return "\n".join(
[
f"{box['tl']}{hline}{box['tr']}",
f"{box['v']} {title} {box['v']}",
f"{box['bl']}{hline}{box['br']}",
]
)
# The log coloring causes the XML to be invalid, so set recover=True
tree = etree.parse(sys.argv[1], etree.XMLParser(recover=True))
for suite in tree.xpath("/testsuites/testsuite"):
skipped = suite.get("skipped")
if int(skipped) != 0:
print(
format_title(
"Tests were skipped when they should not have been. All the tests must be run in the CI"
),
end="\n\n",
flush=True,
)
sys.exit(1)