[PATCH 08/13] lib: tst_test: Move the iterations to struct tst_test
Cyril Hrubis <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
This allows us to set the default number of iterations in the tst_test structure. Signed-off-by: Cyril Hrubis <[email protected]> --- 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 -- Mailing list info: https://lists.linux.it/listinfo/ltp