From 5dd1b8b06335831206077a1eb4aa81c3ceb3f3ee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Samuli=20Sepp=C3=A4nen?= Date: Sat, 26 Oct 2024 11:25:14 +0200 Subject: [PATCH] t_server_null: use wait instead of marker files MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit By using wait in a more inventive way we can avoid using a marker file to detect the "server could not be killed gracefully" situation. Change-Id: Ib385080e1dd1c3046c54e6267db8aa7d5c09e2fb Signed-off-by: Samuli Seppänen Acked-by: Gert Doering Message-Id: <20241026092515.30559-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29664.html Signed-off-by: Gert Doering --- tests/t_server_null.sh | 8 ++++---- tests/t_server_null_server.sh | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/t_server_null.sh b/tests/t_server_null.sh index 3c0fc4bea..74ffd5245 100755 --- a/tests/t_server_null.sh +++ b/tests/t_server_null.sh @@ -62,6 +62,8 @@ export t_server_null_logdir=t_server_null-`hostname`-`date +%Y%m%d-%H%M%S` mkdir $t_server_null_logdir "${srcdir}/t_server_null_server.sh" & +T_SERVER_NULL_SERVER_PID=$! + "${srcdir}/t_server_null_client.sh" retval=$? @@ -69,11 +71,9 @@ retval=$? # that this script does not exit before all --dev null servers are dead and # their network interfaces are gone. Otherwise t_client.sh will fail because # pre and post ifconfig output does not match. -wait - -. ./t_server_null_default.rc +wait $T_SERVER_NULL_SERVER_PID -if [ -e $SERVER_KILL_FAIL_FILE ]; then +if [ $? -ne 0 ]; then exit 1 else exit $retval diff --git a/tests/t_server_null_server.sh b/tests/t_server_null_server.sh index ab01dd2eb..acf8479e2 100755 --- a/tests/t_server_null_server.sh +++ b/tests/t_server_null_server.sh @@ -37,8 +37,9 @@ umask 022 # Load local configuration, if any test -r ./t_server_null.rc && . ./t_server_null.rc -# Remove server kill failure marker file, if any -rm -f $SERVER_KILL_FAIL_FILE +# We can't exit immediately on the first failure as that could leave processes +# lying around. +retval=0 # Launch test servers for SUF in $TEST_SERVER_LIST @@ -81,7 +82,6 @@ echo "All clients have disconnected from all servers" # Make sure that the server processes are truly dead before exiting. If a # server process does not exit in 15 seconds assume it never will, move on and # hope for the best. - echo "Waiting for servers to exit" for PID_FILE in $server_pid_files do @@ -111,6 +111,8 @@ do echo "ERROR: had to send SIGKILL to server ${SERVER_NAME} with pid ${SERVER_PID}!" echo "Tail of server log:" tail -n 20 "${t_server_null_logdir}/${SERVER_NAME}.log" - touch $SERVER_KILL_FAIL_FILE + retval=1 fi done + +exit $retval -- 2.47.2