From 0f8c36d9906ab4e1eb47bb5475e99854c933afd5 Mon Sep 17 00:00:00 2001 From: Wainer dos Santos Moschetta Date: Mon, 29 Jan 2024 12:42:25 -0300 Subject: [PATCH] tests/nydus: refactor the teardown() This refactor the teardown() of tests/integration/nydus/nydus_tests.sh: * Moved boilerplate code that kill process to a loop; * Doesn't leave teardown() if a process failed to get killed, so that other clean up routines are ran; * Check if the pid exist then attempt to kill the process, so avoid this misleading message: ``` Usage: kill [options] [...] Options: [...] send signal to every listed -, -s, --signal specify the to be sent -q, --queue integer value to be sent with the signal -l, --list=[] list all signal names, or convert one to a name -L, --table list all signal names in a nice table -h, --help display this help and exit -V, --version output version information and exit For more details see kill(1). ``` Fixes #8948 Signed-off-by: Wainer dos Santos Moschetta --- tests/integration/nydus/nydus_tests.sh | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tests/integration/nydus/nydus_tests.sh b/tests/integration/nydus/nydus_tests.sh index 41a4cbbfc5..0728aeb460 100755 --- a/tests/integration/nydus/nydus_tests.sh +++ b/tests/integration/nydus/nydus_tests.sh @@ -156,15 +156,21 @@ function run_test() { function teardown() { echo "Running teardown" + local rc=0 - # kill nydus-snapshotter - bin=containerd-nydus-grpc - sudo -E kill -9 $(pidof $bin) || true - [ "$(pidof $bin)" == "" ] || die "$bin is running" - - bin=nydusd - sudo -E kill -9 $(pidof $bin) || true - [ "$(pidof $bin)" == "" ] || die "$bin is running" + local pid + for bin in containerd-nydus-grpc nydusd; do + pid=$(pidof $bin) + if [ -n "$pid" ]; then + echo "Killing $bin processes" + # shellcheck disable=SC2086 + sudo -E kill -9 $pid || true + if [ -n "$(pidof $bin)" ]; then + echo "$bin is still running ($pid) but it should not" + rc=1 + fi + fi + done # restore kata configuratiom.toml if needed if [ "${need_restore_kata_config}" == "true" ]; then @@ -180,8 +186,9 @@ function teardown() { sudo rm "$containerd_config" fi - clean_env_ctr + clean_env_ctr || rc=1 check_processes + return $rc } trap teardown EXIT