diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing/selftests/net/mptcp/mptcp_lib.sh index aca35376006b..556a7d9784d7 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -352,20 +352,24 @@ mptcp_lib_check_tools() { } mptcp_lib_check_output() { - local err="$1" - local cmd="$2" - local expected="$3" + local err="${1}" + local cmd="${2}" + local expected="${3}" local cmd_ret=0 - local out=$(${cmd} 2>${err}) || cmd_ret=${?} + local out - if [ $cmd_ret -ne 0 ]; then - mptcp_lib_print_err "[FAIL] command execution '$cmd' stderr" + if ! out=$(${cmd} 2>"${err}"); then + cmd_ret=${?} + fi + + if [ ${cmd_ret} -ne 0 ]; then + mptcp_lib_print_err "[FAIL] command execution '${cmd}' stderr" cat "${err}" return 2 - elif [ "$out" = "$expected" ]; then + elif [ "${out}" = "${expected}" ]; then return 0 else - mptcp_lib_print_err "[FAIL] expected '$expected' got '$out'" + mptcp_lib_print_err "[FAIL] expected '${expected}' got '${out}'" return 1 fi }