gitlab-ci: print output and logs for failed tests

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Andrew Gregory 2021-01-19 10:30:06 -08:00 committed by Allan McRae
parent f9bc6c2b09
commit 1fdf8c0076
3 changed files with 33 additions and 0 deletions

View file

@ -2,6 +2,7 @@ variables:
MAKEFLAGS: "-j10" MAKEFLAGS: "-j10"
VERBOSE: 1 VERBOSE: 1
PACMAN_OPTS: --needed --noconfirm --cachedir .pkg-cache PACMAN_OPTS: --needed --noconfirm --cachedir .pkg-cache
PACTEST_OPTS: --review --editor=../build-aux/cat-test-file
cache: cache:
key: pkgs-v1 key: pkgs-v1
@ -9,6 +10,10 @@ cache:
# For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory # For some reason Gitlab CI only supports storing cache/artifacts in a path relative to the build directory
- .pkg-cache - .pkg-cache
default:
after_script:
- build-aux/print-failed-test-output build/meson-logs/testlog.json
.arch-test: .arch-test:
image: archlinux/base image: archlinux/base
before_script: before_script:

11
build-aux/cat-test-file Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/python3
import sys
for path in sys.argv[1:]:
print('# -----------------------------------')
print('# ' + path + ':')
print('# -----------------------------------')
with open(path, 'r') as f:
for line in f:
print('# ' + line, end='')

View file

@ -0,0 +1,17 @@
#!/usr/bin/python
import json
import sys
def print_result(result):
print('==================================================================')
print(result['name'])
print(' '.join(result['command']))
print('==================================================================')
print(result['stdout'])
with open(sys.argv[1], 'r') as f:
for line in f:
result = json.loads(line)
if result['result'] == 'FAIL':
print_result(result)