diff mbox series

[v2] travis.yml: Prevent 'script' from premature exit

Message ID 20200115131701.41131-1-wainersm@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] travis.yml: Prevent 'script' from premature exit | expand

Commit Message

Wainer dos Santos Moschetta Jan. 15, 2020, 1:17 p.m. UTC
The 'script' section finishes its execution prematurely whenever
a shell's exit is called. If the intention is to force
Travis to flag a build/test failure then the correct approach
is erroring any command statement. In this change, it combines
the grep's in a single AND statement that in case of false
Travis will interpret as a build error.

Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
---
 Changes v1 to v2:
   - Simplify the grep's in a single statement [thuth]
   - Also grep for SKIP (besides PASS) [myself]
 .travis.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Thomas Huth Jan. 15, 2020, 1:38 p.m. UTC | #1
On 15/01/2020 14.17, Wainer dos Santos Moschetta wrote:
> The 'script' section finishes its execution prematurely whenever
> a shell's exit is called. If the intention is to force
> Travis to flag a build/test failure then the correct approach
> is erroring any command statement. In this change, it combines
> the grep's in a single AND statement that in case of false
> Travis will interpret as a build error.
> 
> Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
> ---
>  Changes v1 to v2:
>    - Simplify the grep's in a single statement [thuth]
>    - Also grep for SKIP (besides PASS) [myself]
>  .travis.yml | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index 091d071..0a92bc5 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -119,5 +119,4 @@ before_script:
>  script:
>    - make -j3
>    - ACCEL="${ACCEL:-tcg}" ./run_tests.sh -v $TESTS | tee results.txt
> -  - if grep -q FAIL results.txt ; then exit 1 ; fi
> -  - if ! grep -q PASS results.txt ; then exit 1 ; fi
> +  - grep -q 'PASS\|SKIP' results.txt && ! grep -q FAIL results.txt

I think we want to see at least one "PASS" in the output, otherwise it's
an indication that something went wrong in the CI - I've seen bugs in
the past that caused all tests to SKIP, and we should fail the CI in
that case, too. So I'd suggest to remove the "SKIP" from the grep
statement again.

 Thomas
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index 091d071..0a92bc5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -119,5 +119,4 @@  before_script:
 script:
   - make -j3
   - ACCEL="${ACCEL:-tcg}" ./run_tests.sh -v $TESTS | tee results.txt
-  - if grep -q FAIL results.txt ; then exit 1 ; fi
-  - if ! grep -q PASS results.txt ; then exit 1 ; fi
+  - grep -q 'PASS\|SKIP' results.txt && ! grep -q FAIL results.txt