[LTP] [PATCH v2 2/3] Make io_read() runtime-aware
Martin Doucha
mdoucha@suse.cz
Wed Sep 14 15:43:32 CEST 2022
Running dio_sparse with too many children can cause test timeouts
due to severe system overload. Make the children runtime aware and
switch to exit code validation.
Signed-off-by: Martin Doucha <mdoucha@suse.cz>
---
Changes since v1: None
testcases/kernel/io/ltp-aiodio/aiodio_sparse.c | 9 +++------
testcases/kernel/io/ltp-aiodio/common.h | 2 +-
testcases/kernel/io/ltp-aiodio/dio_sparse.c | 8 ++------
3 files changed, 6 insertions(+), 13 deletions(-)
diff --git a/testcases/kernel/io/ltp-aiodio/aiodio_sparse.c b/testcases/kernel/io/ltp-aiodio/aiodio_sparse.c
index 88aec7952..595c76226 100644
--- a/testcases/kernel/io/ltp-aiodio/aiodio_sparse.c
+++ b/testcases/kernel/io/ltp-aiodio/aiodio_sparse.c
@@ -188,7 +188,6 @@ static void cleanup(void)
static void run(void)
{
char *filename = "file.bin";
- int status;
int i, pid;
*run_child = 1;
@@ -222,12 +221,10 @@ static void run(void)
}
}
- if (SAFE_WAITPID(-1, &status, WNOHANG))
- tst_res(TFAIL, "Non zero bytes read");
- else
- tst_res(TPASS, "All bytes read were zeroed");
-
*run_child = 0;
+
+ if (!tst_validate_children(numchildren))
+ tst_res(TPASS, "All bytes read were zeroed");
}
static struct tst_test test = {
diff --git a/testcases/kernel/io/ltp-aiodio/common.h b/testcases/kernel/io/ltp-aiodio/common.h
index d9cbd8611..68465dc54 100644
--- a/testcases/kernel/io/ltp-aiodio/common.h
+++ b/testcases/kernel/io/ltp-aiodio/common.h
@@ -85,7 +85,7 @@ static inline void io_read(const char *filename, int filesize, volatile int *run
offset += r;
}
- if (!*run_child)
+ if (!*run_child || !tst_remaining_runtime())
goto exit;
}
}
diff --git a/testcases/kernel/io/ltp-aiodio/dio_sparse.c b/testcases/kernel/io/ltp-aiodio/dio_sparse.c
index b08d2ea1e..1b5834ed4 100644
--- a/testcases/kernel/io/ltp-aiodio/dio_sparse.c
+++ b/testcases/kernel/io/ltp-aiodio/dio_sparse.c
@@ -96,7 +96,6 @@ static void cleanup(void)
static void run(void)
{
char *filename = "dio_sparse";
- int status;
int fd;
int i;
@@ -113,13 +112,10 @@ static void run(void)
}
dio_sparse(fd, alignment, filesize, writesize, offset);
+ *run_child = 0;
- if (SAFE_WAITPID(-1, &status, WNOHANG))
- tst_res(TFAIL, "Non zero bytes read");
- else
+ if (!tst_validate_children(numchildren))
tst_res(TPASS, "All bytes read were zeroed");
-
- *run_child = 0;
}
static struct tst_test test = {
--
2.37.3
More information about the ltp
mailing list