[libvirt] [PATCH] CI: show the log in case of failure

From: Claudio André <claudioandre.br@gmail.com> Disclosure the content of the 'test-suite.log' file (if available) in case of failures inside Travis-CI. This is needed to understand what happened and to provide hints about the proper fix (if applicable). --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.travis.yml b/.travis.yml index 266ffff..5a3e765 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,3 +83,11 @@ matrix: # many unit tests fail & so does syntax-check, so skip for now # one day we must fix it though.... - make -j3 + +after_failure: + - echo '============================================================================' + - 'if [ -f $(pwd)/tests/test-suite.log ]; then + cat $(pwd)/tests/test-suite.log; + else + echo "=== NO LOG FILE FOUND ==="; + fi' -- 2.11.0

Below an example of why it is desirable. Em 25/05/2017 02:19, claudioandre.br@gmail.com escreveu:
From: Claudio André <claudioandre.br@gmail.com>
Disclosure the content of the 'test-suite.log' file (if available) in case of failures inside Travis-CI. This is needed to understand what happened and to provide hints about the proper fix (if applicable). ---
It happened while I was playing with libvirt on Travis. Some random error (that I know nothing because I wasn't able to see the log). --- [snip] make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/home/travis/build/claudioandre/libvirt/tests' ============================================================================ Testsuite summary for libvirt 3.4.0 ============================================================================ # TOTAL: 122 # PASS: 106 # SKIP: 6 # XFAIL: 0 # FAIL: 10 # XPASS: 0 # ERROR: 0 ============================================================================ See tests/test-suite.log Please report to libvir-list@redhat.com ============================================================================ make[3]: *** [test-suite.log] Error 1 make[3]: Leaving directory `/home/travis/build/claudioandre/libvirt/tests' make[2]: *** [check-TESTS] Error 2 make[2]: Leaving directory `/home/travis/build/claudioandre/libvirt/tests' make[1]: *** [check-am] Error 2 make[1]: Leaving directory `/home/travis/build/claudioandre/libvirt/tests' make: *** [check-recursive] Error 1 [snip]

On Thu, May 25, 2017 at 02:19:45AM -0300, claudioandre.br@gmail.com wrote:
From: Claudio André <claudioandre.br@gmail.com>
Disclosure the content of the 'test-suite.log' file (if available) in case of failures inside Travis-CI. This is needed to understand what happened and to provide hints about the proper fix (if applicable). --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 266ffff..5a3e765 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,3 +83,11 @@ matrix: # many unit tests fail & so does syntax-check, so skip for now # one day we must fix it though.... - make -j3 + +after_failure: + - echo '============================================================================' + - 'if [ -f $(pwd)/tests/test-suite.log ]; then + cat $(pwd)/tests/test-suite.log; + else + echo "=== NO LOG FILE FOUND ==="; + fi'
I need to investigate why this doesn't work, I don't have that file there after 'make check'.
-- 2.11.0
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Thu, May 25, 2017 at 02:35:53PM +0200, Martin Kletzander wrote:
On Thu, May 25, 2017 at 02:19:45AM -0300, claudioandre.br@gmail.com wrote:
From: Claudio André <claudioandre.br@gmail.com>
Disclosure the content of the 'test-suite.log' file (if available) in case of failures inside Travis-CI. This is needed to understand what happened and to provide hints about the proper fix (if applicable). --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/.travis.yml b/.travis.yml index 266ffff..5a3e765 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,3 +83,11 @@ matrix: # many unit tests fail & so does syntax-check, so skip for now # one day we must fix it though.... - make -j3 + +after_failure: + - echo '============================================================================' + - 'if [ -f $(pwd)/tests/test-suite.log ]; then + cat $(pwd)/tests/test-suite.log; + else + echo "=== NO LOG FILE FOUND ==="; + fi'
I need to investigate why this doesn't work, I don't have that file there after 'make check'.
Just figured that out. The systems in Travis are just so old that the automake there doesn't create the test-suite.log =(

Em 25/05/2017 11:15, Martin Kletzander escreveu:
I need to investigate why this doesn't work, I don't have that file
[...]
Just figured that out. The systems in Travis are just so old that the automake there doesn't create the test-suite.log =(
The workers available in Travis are really old. That said, I plan to workaround your finding and propose a patch: - to build and test libvirt using a more updated distro (using `services: docker`, of course). - and, if accepted, add ASAN (AddressSanitizer) to CI. Claudio

On Thu, May 25, 2017 at 07:54:13PM -0300, Claudio André wrote:
Em 25/05/2017 11:15, Martin Kletzander escreveu:
I need to investigate why this doesn't work, I don't have that file
[...]
Just figured that out. The systems in Travis are just so old that the automake there doesn't create the test-suite.log =(
The workers available in Travis are really old. That said, I plan to workaround your finding and propose a patch: - to build and test libvirt using a more updated distro (using `services: docker`, of course).
Good to hear that. I didn't know you can do that.
- and, if accepted, add ASAN (AddressSanitizer) to CI.
What addresses would you like to sanitize?
Claudio

Em 26/05/2017 04:15, Martin Kletzander escreveu:
On Thu, May 25, 2017 at 07:54:13PM -0300, Claudio André wrote:
The workers available in Travis are really old. That said, I plan to workaround your finding and propose a patch: - to build and test libvirt using a more updated distro (using `services: docker`, of course).
Good to hear that. I didn't know you can do that.
- and, if accepted, add ASAN (AddressSanitizer) to CI.
What addresses would you like to sanitize?
Sorry, I was talking about this: https://github.com/google/sanitizers/wiki/AddressSanitizer It detects memory errors like leaks, overflows, use after free, etc. I'll propose to add it to CI so it will "analyze/audit" every new push. - Since it is available in recent gcc and clang, I'll propose to enable it (add the compilation flag) for both compilers. - Support it will mean: change configure.ac to allow the flag. Discuss, get feedback, .... And later, automate (a very useful) check in CI. Claudio
participants (3)
-
Claudio André
-
claudioandre.br@gmail.com
-
Martin Kletzander