travis.yml: Prevent 'script' section from premature exit
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 build command. In this change, it executes a sub-shell process and exit 1, so that Travis capture the return code and interpret it as a build error.
--- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
.travis.yml +2 -2
@@ -119,5 +119,5 @@ 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 + - if grep -q FAIL results.txt ; then $(exit 1) ; fi + - if ! grep -q PASS results.txt ; then $(exit 1) ; fi
Signature · 1 line
2.23.0
Quoted 17 lines · Wainer dos Santos Moschetta
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 build command. In this change, it executes a sub-shell process and exit 1, so that Travis capture the return code and interpret it as a build error.
Signed-off-by Wainer dos Santos Moschetta <[email protected]>--- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-).travis.yml +0
-0
.travis.yml before_script: · line 123
Quoted 7 lines
.travis.yml +2
-2@@ -119,5 +119,5 @@ 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 + - if grep -q FAIL results.txt ; then $(exit 1) ; fi + - if ! grep -q PASS results.txt ; then $(exit 1) ; fi
Basically a good idea, but I think we can even simplify these two lines into:
grep -q PASS results.txt && ! grep -q FAIL results.txt
If you agree, could you update your patch and send a v2?
Thanks,
Thomas
Quoted 28 lines · Thomas Huth
Quoted 17 lines · Wainer dos Santos Moschetta
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 build command. In this change, it executes a sub-shell process and exit 1, so that Travis capture the return code and interpret it as a build error.
Signed-off-by Wainer dos Santos Moschetta <[email protected]>--- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-).travis.yml +0
-0.travis.yml before_script: · line 123
Quoted 7 lines
.travis.yml +2
-2@@ -119,5 +119,5 @@ 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 + - if grep -q FAIL results.txt ; then $(exit 1) ; fi + - if ! grep -q PASS results.txt ; then $(exit 1) ; fiBasically a good idea, but I think we can even simplify these two lines into:
Quoted 1 line
grep -q PASS results.txt && ! grep -q FAIL results.txt
Indeed this is a better idea.
Quoted 2 lines
If you agree, could you update your patch and send a v2?
Sure, I will send the v2 with your proposed changes. Thanks!
- Wainer
Quoted 3 lines
Thanks,
Thomas