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

claudioandre.br@gmail.com posted 1 patch 6 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20170525051945.23735-1-claudioandre.br@gmail.com
.travis.yml | 8 ++++++++
1 file changed, 8 insertions(+)
[libvirt] [PATCH] CI: show the log in case of failure
Posted by claudioandre.br@gmail.com 6 years, 10 months ago
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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Claudio André 6 years, 10 months ago
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]

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Martin Kletzander 6 years, 10 months ago
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

s/Disclosure/Disclose/

ACK && Pushed.
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Martin Kletzander 6 years, 10 months ago
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
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Martin Kletzander 6 years, 10 months ago
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 =(
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Claudio André 6 years, 10 months ago
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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Martin Kletzander 6 years, 10 months ago
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
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] CI: show the log in case of failure
Posted by Claudio André 6 years, 10 months ago
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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list