From de724c7b94cfd8049efed6349acf9e0fb643f289 Mon Sep 17 00:00:00 2001 From: AlexChen Date: Wed, 27 Mar 2024 05:20:21 +0800 Subject: [PATCH] test/commandtest: skip the test4 if the testcase is run in the container env In a container environment without an init thread, the daemoned process is not reclaimed, and Test4 loops forever, causing the compilation to hung. So, skip it. Signed-off-by: AlexChen --- tests/commandtest.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/commandtest.c b/tests/commandtest.c index aa108ce583..1adfc9de7f 100644 --- a/tests/commandtest.c +++ b/tests/commandtest.c @@ -211,6 +211,7 @@ static int test4(const void *unused G_GNUC_UNUSED) g_autofree char *pidfile = virPidFileBuildPath(abs_builddir, "commandhelper"); pid_t pid; int ret = -1; + int count = 0; if (!pidfile) goto cleanup; @@ -227,8 +228,13 @@ static int test4(const void *unused G_GNUC_UNUSED) printf("cannot read pidfile\n"); goto cleanup; } - while (kill(pid, 0) != -1) - g_usleep(100*1000); + while (kill(pid, 0) != -1) { + if (count++ >= 600) { + printf("check time exceeds 60s, it may be in container env, skip this testcase!!!\n"); + break; + } + g_usleep(100*1000); /* 100 */ + } ret = checkoutput("test4"); -- 2.27.0