[LTP] [PATCH 08/13] lib: tst_test: Move the iterations to struct tst_test
Cyril Hrubis
chrubis@suse.cz
Wed Jun 24 11:18:55 CEST 2026
This allows us to set the default number of iterations in the tst_test
structure.
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
include/tst_test.h | 4 ++++
lib/tst_test.c | 8 +++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/tst_test.h b/include/tst_test.h
index 4afe4cbe0..6befb7787 100644
--- a/include/tst_test.h
+++ b/include/tst_test.h
@@ -478,6 +478,9 @@ struct tst_fs {
* probabilistic or fuzzy synchronization tests).
* If not set, a default minimum of 1 second is enforced.
*
+ * @iterations: The default value for the number of test iterations, i.e. the
+ * -i command line parameter.
+ *
* @setup: Setup callback is called once at the start of the test in order to
* prepare the test environment.
*
@@ -608,6 +611,7 @@ struct tst_fs {
int timeout;
int runtime;
int min_runtime;
+ unsigned int iterations;
void (*setup)(void);
void (*cleanup)(void);
diff --git a/lib/tst_test.c b/lib/tst_test.c
index 5c3607016..e1166c0c6 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -64,7 +64,6 @@ const char *TCID __attribute__((weak));
struct tst_test *tst_test;
static const char *tcid;
-static int iterations = 1;
static float duration = -1;
static float timeout_mul = -1;
static int reproducible_output;
@@ -834,7 +833,7 @@ static void parse_opts(int argc, char *argv[])
print_test_tags();
exit(0);
case 'i':
- iterations = SAFE_STRTOL(optarg, 0, INT_MAX);
+ tst_test->iterations = SAFE_STRTOL(optarg, 0, UINT_MAX);
break;
case 'I':
if (tst_test->runtime > 0)
@@ -1484,6 +1483,9 @@ static void do_setup(int argc, char *argv[])
}
}
+ if (tst_test->iterations == 0)
+ tst_test->iterations = 1;
+
if (tst_test->mount_device)
tst_test->format_device = 1;
@@ -1770,7 +1772,7 @@ static void testrun(void)
for (;;) {
cont = 0;
- if (i < (unsigned int)iterations) {
+ if (i < tst_test->iterations) {
i++;
cont = 1;
}
--
2.53.0
More information about the ltp
mailing list