[LTP] [PATCH v2 28/30] ltp-aiodio/aiodio_append: Convert to runtime
Cyril Hrubis
chrubis@suse.cz
Tue May 3 19:47:16 CEST 2022
Cap the test runtime on 30 minutes by default.
For this to work we have to run the process that issues the aio requests
in a child process and kill it when runtime is over.
CC: Andrea Cervesato <andrea.cervesato@suse.de>
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
.../kernel/io/ltp-aiodio/aiodio_append.c | 25 ++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git a/testcases/kernel/io/ltp-aiodio/aiodio_append.c b/testcases/kernel/io/ltp-aiodio/aiodio_append.c
index 46cc74ee4..4bb95189c 100644
--- a/testcases/kernel/io/ltp-aiodio/aiodio_append.c
+++ b/testcases/kernel/io/ltp-aiodio/aiodio_append.c
@@ -141,7 +141,7 @@ static void run(void)
{
char *filename = "aiodio_append";
int status;
- int i;
+ int i, pid;
*run_child = 1;
@@ -152,9 +152,27 @@ static void run(void)
}
}
- tst_res(TINFO, "Parent append to file");
+ pid = SAFE_FORK();
+ if (!pid) {
+ aiodio_append(filename, appends, alignment, writesize, numaio);
+ return;
+ }
+
+ tst_res(TINFO, "Child %i appends to a file", pid);
+
+ for (;;) {
+ if (SAFE_WAITPID(pid, NULL, WNOHANG))
+ break;
- aiodio_append(filename, appends, alignment, writesize, numaio);
+ sleep(1);
+
+ if (!tst_remaining_runtime()) {
+ tst_res(TINFO, "Test out of runtime, exitting");
+ kill(pid, SIGKILL);
+ SAFE_WAITPID(pid, NULL, 0);
+ break;
+ }
+ }
if (SAFE_WAITPID(-1, &status, WNOHANG))
tst_res(TFAIL, "Non zero bytes read");
@@ -172,6 +190,7 @@ static struct tst_test test = {
.cleanup = cleanup,
.needs_tmpdir = 1,
.forks_child = 1,
+ .max_iteration_runtime = 1800,
.options = (struct tst_option[]) {
{"n:", &str_numchildren, "Number of threads (default 16)"},
{"s:", &str_writesize, "Size of the file to write (default 64K)"},
--
2.35.1
More information about the ltp
mailing list