Skip to content

Commit

Permalink
t_server_null: use wait instead of marker files
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Gert Doering <[email protected]>
Message-Id: <[email protected]>
URL: https://www.mail-archive.com/[email protected]/msg29664.html
Signed-off-by: Gert Doering <[email protected]>
  • Loading branch information
mattock authored and cron2 committed Oct 26, 2024
1 parent 37db7fe commit 5dd1b8b
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
8 changes: 4 additions & 4 deletions tests/t_server_null.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,18 +62,18 @@ 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=$?

# When running make jobs in parallel ("make -j<x> check") we need to ensure
# 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
Expand Down
10 changes: 6 additions & 4 deletions tests/t_server_null_server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

0 comments on commit 5dd1b8b

Please sign in to comment.