[PATCH RFT v7 7/9] selftests/clone3: Explicitly handle child exits due to signals

From: Mark Brown
Date: Wed Jul 31 2024 - 08:22:01 EST


In order to improve diagnostics and allow tests to explicitly look for
signals check to see if the child exited due to a signal and if it did
print the code and return it as a positive value, distinct from the
negative errnos currently returned.

Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
---
tools/testing/selftests/clone3/clone3.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/tools/testing/selftests/clone3/clone3.c b/tools/testing/selftests/clone3/clone3.c
index e066b201fa64..3b3a08e6a34d 100644
--- a/tools/testing/selftests/clone3/clone3.c
+++ b/tools/testing/selftests/clone3/clone3.c
@@ -111,6 +111,13 @@ static int call_clone3(uint64_t flags, size_t size, enum test_mode test_mode)
ksft_print_msg("waitpid() returned %s\n", strerror(errno));
return -errno;
}
+
+ if (WIFSIGNALED(status)) {
+ ksft_print_msg("Child exited with signal %d\n",
+ WTERMSIG(status));
+ return WTERMSIG(status);
+ }
+
if (!WIFEXITED(status)) {
ksft_print_msg("Child did not exit normally, status 0x%x\n",
status);

--
2.39.2