[Buildroot] [git commit] support/misc/gitlab-ci.yml.in: print error log if the runtime test fail
Peter Korsgaard
peter at korsgaard.com
Sun Dec 3 19:20:53 UTC 2023
commit: https://git.buildroot.net/buildroot/commit/?id=3503d48897bd841f26e2a20bf750dc8174d0fa85
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
When an error occurs, the gitlab-ci job log doesn't contain any useful
information than the name of the failing test:
FAIL: test_run (tests.package.test_python_paho_mqtt.TestPythonPahoMQTT)
In order to encourage contributors to investigate issues reported by
gitlab-ci, we want to print the last lines of the log file (build or
runtime).
Unfortunately, gitlab-ci job log completely strips lines ending with
CRCRLF [1][2]. We have to take a look at the gitlab-ci raw log to see
the complete log [3].
To workaround this issue, remove crlf from qemu serial stdio log
while printing in the gitlab-ci job log (we don't want to change
the log file generated by support/testing/run-tests and saved as
artefacts).
[1] https://gitlab.com/gitlab-org/gitlab/-/issues/218771
[2] https://gitlab.com/kubu93/buildroot/-/jobs/5492937691
[3] https://gitlab.com/kubu93/buildroot/-/jobs/5492937691/raw
Cc: Peter Korsgaard <peter at korsgaard.com>
Signed-off-by: Romain Naour <romain.naour at smile.fr>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
support/misc/gitlab-ci.yml.in | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/support/misc/gitlab-ci.yml.in b/support/misc/gitlab-ci.yml.in
index 4d9acbc3d3..db206432aa 100644
--- a/support/misc/gitlab-ci.yml.in
+++ b/support/misc/gitlab-ci.yml.in
@@ -103,7 +103,16 @@ before_script:
script:
- TEST_CASE_NAME=${CI_JOB_NAME}
- echo "Starting runtime test ${TEST_CASE_NAME}"
- - ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME}
+ - |
+ ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${TEST_CASE_NAME} || {
+ echo 'Failed runtime test last output'
+ if [ -f test-output/*-run.log ]; then
+ tail -200 test-output/*-run.log | sed 's/\r\r$//'
+ else
+ tail -200 test-output/*-build.log
+ fi
+ exit 1
+ }
retry:
max: 2
when:
More information about the buildroot
mailing list