public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: Stefano Brivio <sbrivio@redhat.com>
To: passt-dev@passt.top
Subject: [PATCH 07/12] tests: Don't ignore errors during script
Date: Tue, 17 May 2022 14:36:09 +0200	[thread overview]
Message-ID: <20220517123614.1892316-8-sbrivio@redhat.com> (raw)
In-Reply-To: <20220517123614.1892316-1-sbrivio@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 2506 bytes --]

From: David Gibson <david(a)gibson.dropbear.id.au>

Most commands issued during the testing scripts aren't explicitly checked
for errors.  Therefore, if they fail, the shell will just keep on
executing.  This makes it difficult to figure out where things started
going wrong if things fall over.

Run the whole script with the set -e mode so that it will exit in the case
of any (unchecked) failing command.  To make this work we do need to add
explicit checks / fallbacks for some commands which we expect to fail.

Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au>
[sbrivio: use sh -e instead of setting -e later, so that we don't miss
 anything before set -e is issued]
Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com>
---
 test/lib/test | 10 +++++-----
 test/run      |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/test/lib/test b/test/lib/test
index 93c86e8..2cfec9a 100755
--- a/test/lib/test
+++ b/test/lib/test
@@ -153,7 +153,7 @@ test_one_line() {
 	"htools")
 		pane_run HOST 'which '"${__arg}"' >/dev/null || echo skip'
 		pane_wait HOST
-		[ "$(pane_parse HOST)" = "skip" ] && TEST_ONE_skip=1
+		[ "$(pane_parse HOST)" = "skip" ] && TEST_ONE_skip=1 || true
 		;;
 	"passt")
 		pane_run PASST "${__arg}"
@@ -194,17 +194,17 @@ test_one_line() {
 	"gtools")
 		pane_run GUEST 'which '"${__arg}"' >/dev/null || echo skip'
 		pane_wait GUEST
-		[ "$(pane_parse GUEST)" = "skip" ] && TEST_ONE_skip=1
+		[ "$(pane_parse GUEST)" = "skip" ] && TEST_ONE_skip=1 || true
 		;;
 	"g1tools")
 		pane_run GUEST_1 'which '"${__arg}"' >/dev/null || echo skip'
 		pane_wait GUEST_1
-		[ "$(pane_parse GUEST_1)" = "skip" ] && TEST_ONE_skip=1
+		[ "$(pane_parse GUEST_1)" = "skip" ] && TEST_ONE_skip=1 || true
 		;;
 	"g2tools")
 		pane_run GUEST_2 'which '"${__arg}"' >/dev/null || echo skip'
 		pane_wait GUEST_2
-		[ "$(pane_parse GUEST_2)" = "skip" ] && TEST_ONE_skip=1
+		[ "$(pane_parse GUEST_2)" = "skip" ] && TEST_ONE_skip=1 || true
 		;;
 	"guest2")
 		pane_run GUEST_2 "${__arg}"
@@ -249,7 +249,7 @@ test_one_line() {
 	"nstools")
 		pane_run NS 'which '"${__arg}"' >/dev/null || echo skip'
 		pane_wait NS
-		[ "$(pane_parse NS)" = "skip" ] && TEST_ONE_skip=1
+		[ "$(pane_parse NS)" = "skip" ] && TEST_ONE_skip=1 || true
 		;;
 	"gout")
 		__varname="${__arg%% *}"
diff --git a/test/run b/test/run
index a8e1c98..737fa81 100755
--- a/test/run
+++ b/test/run
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 #
 # SPDX-License-Identifier: AGPL-3.0-or-later
 #
-- 
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 #
 # SPDX-License-Identifier: AGPL-3.0-or-later
 #
-- 
2.35.1


  parent reply	other threads:[~2022-05-17 12:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-17 12:36 [PATCH 00/12] Tests fixes and clean-ups Stefano Brivio
2022-05-17 12:36 ` [PATCH 01/12] tests: Update mbuto git URLs Stefano Brivio
2022-05-17 12:36 ` [PATCH 02/12] tests: Remove unused XVFB variable Stefano Brivio
2022-05-17 12:36 ` [PATCH 03/12] tests: Add some debugging output for the test scripts themselves Stefano Brivio
2022-05-17 12:36 ` [PATCH 04/12] tests: Don't use tmux update-environment Stefano Brivio
2022-05-17 12:36 ` [PATCH 05/12] tests: Don't globally set tmux default-shell Stefano Brivio
2022-05-17 12:36 ` [PATCH 06/12] tests: Improve control character filtering in pane_parse Stefano Brivio
2022-05-17 12:36 ` Stefano Brivio [this message]
2022-05-17 12:36 ` [PATCH 08/12] tests: Add pane_status command to check for success of issued commands Stefano Brivio
2022-05-17 12:36 ` [PATCH 09/12] tests: Simplify *tools commands using pane_status Stefano Brivio
2022-05-17 12:36 ` [PATCH 10/12] tests: Simplify explicit checks for command success Stefano Brivio
2022-05-17 12:36 ` [PATCH 11/12] test/perf/pasta_udp: Drop redundant assignment of ::1 to loopback interface Stefano Brivio
2022-05-17 12:36 ` [PATCH 12/12] test/run: Return 0 from run(), exit value already reflects failures Stefano Brivio
2022-05-18  3:17 ` [PATCH 00/12] Tests fixes and clean-ups David Gibson
2022-05-18  5:40   ` Stefano Brivio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220517123614.1892316-8-sbrivio@redhat.com \
    --to=sbrivio@redhat.com \
    --cc=passt-dev@passt.top \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://passt.top/passt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).