This helper could be useful to more than just forwarding tests.
Move it upstairs and port over to log_test_skip().

Split the function into two parts: the bit that actually checks and
reports skip, which is in a new function check_command(). And a bit
that exits the test script if the check fails. This allows users
consistent checking behavior while giving an option to bail out from
a single test without bailing out of the whole script.

Signed-off-by: Petr Machata <[email protected]>
Reviewed-by: Ido Schimmel <[email protected]>
---

Notes:
CC: Simon Horman <[email protected]>
CC: Shuah Khan <[email protected]>
CC: [email protected]

 tools/testing/selftests/net/forwarding/lib.sh | 10 ----------
 tools/testing/selftests/net/lib.sh            | 19 +++++++++++++++++++
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/tools/testing/selftests/net/forwarding/lib.sh 
b/tools/testing/selftests/net/forwarding/lib.sh
index 8de80acf249e..508f3c700d71 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh
@@ -291,16 +291,6 @@ if [[ "$CHECK_TC" = "yes" ]]; then
        check_tc_version
 fi
 
-require_command()
-{
-       local cmd=$1; shift
-
-       if [[ ! -x "$(command -v "$cmd")" ]]; then
-               echo "SKIP: $cmd not installed"
-               exit $ksft_skip
-       fi
-}
-
 # IPv6 support was added in v3.0
 check_mtools_version()
 {
diff --git a/tools/testing/selftests/net/lib.sh 
b/tools/testing/selftests/net/lib.sh
index 0bd9a038a1f0..975be4fdbcdb 100644
--- a/tools/testing/selftests/net/lib.sh
+++ b/tools/testing/selftests/net/lib.sh
@@ -450,6 +450,25 @@ kill_process()
        { kill $pid && wait $pid; } 2>/dev/null
 }
 
+check_command()
+{
+       local cmd=$1; shift
+
+       if [[ ! -x "$(command -v "$cmd")" ]]; then
+               log_test_skip "$cmd not installed"
+               return $EXIT_STATUS
+       fi
+}
+
+require_command()
+{
+       local cmd=$1; shift
+
+       if ! check_command "$cmd"; then
+               exit $EXIT_STATUS
+       fi
+}
+
 ip_link_add()
 {
        local name=$1; shift
-- 
2.47.0


Reply via email to