From 05f940b255e0a2586dd766dc10007c30871f4b17 Mon Sep 17 00:00:00 2001 From: Yanray Wang Date: Fri, 13 Jan 2023 10:52:41 +0800 Subject: [PATCH 1/2] Remove Terminated message from stdout Under Ubuntu-22.04, wait command prints out Terminated message if the process has been killed by kill command. This messes up the output in compat.sh Signed-off-by: Yanray Wang --- tests/compat.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/compat.sh b/tests/compat.sh index fc2bfab7a0..00a787ba98 100755 --- a/tests/compat.sh +++ b/tests/compat.sh @@ -790,11 +790,13 @@ wait_client_done() { ( sleep "$DOG_DELAY"; echo "TIMEOUT" >> $CLI_OUT; kill $CLI_PID ) & WATCHDOG_PID=$! - wait $CLI_PID + # For Ubuntu 22.04, `Terminated` message is outputed by wait command. + # To remove it from stdout, redirect stdout/stderr to CLI_OUT + wait $CLI_PID >> $CLI_OUT 2>&1 EXIT=$? - kill $WATCHDOG_PID - wait $WATCHDOG_PID + kill $WATCHDOG_PID >/dev/null 2>&1 + wait $WATCHDOG_PID >> $CLI_OUT 2>&1 echo "EXIT: $EXIT" >> $CLI_OUT } From 128859725a08a5c9fa3c182196e65aa110fb7f59 Mon Sep 17 00:00:00 2001 From: Yanray Wang Date: Fri, 13 Jan 2023 11:42:11 +0800 Subject: [PATCH 2/2] Redirect stdout/stderr to SRV_OUT Under Ubuntu-22.04, wait command prints out Terminated message. Therefore server process is handled with identical ways like other processes in compat.sh. In addition, PROCESS_ID is renamed as SRV_PID to improve code readability. Signed-off-by: Yanray Wang --- tests/compat.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/compat.sh b/tests/compat.sh index 00a787ba98..d9c0c7fe26 100755 --- a/tests/compat.sh +++ b/tests/compat.sh @@ -753,15 +753,17 @@ start_server() { echo "$SERVER_CMD" > $SRV_OUT # for servers without -www or equivalent while :; do echo bla; sleep 1; done | $SERVER_CMD >> $SRV_OUT 2>&1 & - PROCESS_ID=$! + SRV_PID=$! - wait_server_start "$PORT" "$PROCESS_ID" + wait_server_start "$PORT" "$SRV_PID" } # terminate the running server stop_server() { - kill $PROCESS_ID 2>/dev/null - wait $PROCESS_ID 2>/dev/null + # For Ubuntu 22.04, `Terminated` message is outputed by wait command. + # To remove it from stdout, redirect stdout/stderr to SRV_OUT + kill $SRV_PID >/dev/null 2>&1 + wait $SRV_PID >> $SRV_OUT 2>&1 if [ "$MEMCHECK" -gt 0 ]; then if is_mbedtls "$SERVER_CMD" && has_mem_err $SRV_OUT; then @@ -777,7 +779,7 @@ stop_server() { # kill the running server (used when killed by signal) cleanup() { rm -f $SRV_OUT $CLI_OUT - kill $PROCESS_ID >/dev/null 2>&1 + kill $SRV_PID >/dev/null 2>&1 kill $WATCHDOG_PID >/dev/null 2>&1 exit 1 }