upower/.ci/fail_skipped_tests.py

41 lines
963 B
Python
Raw Permalink Normal View History

#!/usr/bin/python3
from lxml import etree
import sys
2025-01-07 15:52:06 +08:00
def format_title(title):
"""Put title in a box"""
box = {
2025-01-07 15:52:06 +08:00
"tl": "",
"tr": "",
"bl": "",
"br": "",
"h": "",
"v": "",
}
2025-01-07 15:52:06 +08:00
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))
2025-01-07 15:52:06 +08:00
for suite in tree.xpath("/testsuites/testsuite"):
skipped = suite.get("skipped")
if int(skipped) != 0:
2025-01-07 15:52:06 +08:00
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)