[LTP] [PATCH 1/2] tst_test: Add $LTP_SINGLE_ITERATION to limit variant
Cyril Hrubis
chrubis@suse.cz
Mon Feb 24 16:16:37 CET 2025
Hi!
> lib_pid = getpid();
> tst_test = self;
> @@ -1899,7 +1901,6 @@ void tst_run_tcases(int argc, char *argv[], struct tst_test *self)
>
> tst_res(TINFO, "LTP version: "LTP_VERSION);
>
> -
> uname(&uval);
> tst_res(TINFO, "Tested kernel: %s %s %s", uval.release, uval.version, uval.machine);
>
> @@ -1908,10 +1909,20 @@ void tst_run_tcases(int argc, char *argv[], struct tst_test *self)
>
> set_overall_timeout();
>
> - if (tst_test->test_variants)
> + if (tst_test->test_variants) {
> test_variants = tst_test->test_variants;
> + only_variant = getenv("LTP_SINGLE_VARIANT");
> + if (only_variant && only_variant[0] != '\0') {
> + tst_variant = MIN(SAFE_STRTOL((char *)only_variant, 0, INT_MAX),
> + test_variants - 1);
> + tst_res(TINFO, "WARNING: testing only variant %d of %d",
> + tst_variant, test_variants - 1);
> + test_variants = tst_variant + 1;
> + }
> + }
> +
> + for (; tst_variant < test_variants; tst_variant++) {
>
> - for (tst_variant = 0; tst_variant < test_variants; tst_variant++) {
> if (tst_test->all_filesystems || count_fs_descs() > 1)
> ret |= run_tcases_per_fs();
> else
Can we instead add a function that would set two integer variables,
first_variant and last variant as:
static void setup_variants(unsigned int *first_variant, unsigned int *last_variant)
{
//setup the defaults and parse the variables here
}
And the we can do:
diff --git a/lib/tst_test.c b/lib/tst_test.c
index e2803f04a..d19fe9aba 100644
--- a/lib/tst_test.c
+++ b/lib/tst_test.c
@@ -1885,7 +1885,7 @@ unsigned int tst_variant;
void tst_run_tcases(int argc, char *argv[], struct tst_test *self)
{
int ret = 0;
- unsigned int test_variants = 1;
+ unsigned int first_variant, last_variant;
struct utsname uval;
lib_pid = getpid();
@@ -1908,10 +1908,9 @@ void tst_run_tcases(int argc, char *argv[], struct tst_test *self)
set_overall_timeout();
- if (tst_test->test_variants)
- test_variants = tst_test->test_variants;
+ setup_variants(&first_variant, &last_variant);
- for (tst_variant = 0; tst_variant < test_variants; tst_variant++) {
+ for (tst_variant = first_variant; tst_variant <= last_variant; tst_variant++) {
if (tst_test->all_filesystems || count_fs_descs() > 1)
ret |= run_tcases_per_fs();
else
diff --git a/testcases/kernel/syscalls/pause/pause01.c b/testcases/kernel/syscalls/pause/pause01.c
index adce0ddcf..74a7e514e 100644
--- a/testcases/kernel/syscalls/pause/pause01.c
+++ b/testcases/kernel/syscalls/pause/pause01.c
@@ -20,6 +20,8 @@ static void do_child(void)
SAFE_SIGNAL(SIGINT, sig_handler);
TST_EXP_FAIL(pause(), EINTR);
TST_CHECKPOINT_WAKE(0);
+
+ tst_res(TPASS, "Process resumed from pause()");
}
static void run(void)
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list