mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-05-14 10:38:06 +02:00
ci: Fail CI on skipped tests
Parse the junit results and check whether there are any skipped tests.
This commit is contained in:
parent
9e9e7dc857
commit
69a7cc39db
2 changed files with 26 additions and 0 deletions
25
.ci/fail_skipped_tests.py
Executable file
25
.ci/fail_skipped_tests.py
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/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']}",
|
||||
])
|
||||
|
||||
tree = etree.parse(sys.argv[1])
|
||||
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)
|
||||
|
|
@ -40,6 +40,7 @@ build_stable:
|
|||
script:
|
||||
- meson _build
|
||||
- meson test -C _build --print-errorlogs --no-stdsplit
|
||||
- .ci/fail_skipped_tests.py _build/meson-logs/testlog.junit.xml
|
||||
artifacts:
|
||||
when: on_success
|
||||
name: "upower-${CI_COMMIT_REF_NAME}"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue