[LTP] [PATCH 1/1] C API: Turn .test_variants into array of description
Viresh Kumar
viresh.kumar@linaro.org
Wed May 20 06:40:56 CEST 2020
On 19-05-20, 16:07, Cyril Hrubis wrote:
> Hi!
> > diff --git a/testcases/kernel/syscalls/clock_adjtime/clock_adjtime01.c b/testcases/kernel/syscalls/clock_adjtime/clock_adjtime01.c
> > index 061b2bb22..40dae4b24 100644
> > --- a/testcases/kernel/syscalls/clock_adjtime/clock_adjtime01.c
> > +++ b/testcases/kernel/syscalls/clock_adjtime/clock_adjtime01.c
> > @@ -107,14 +107,12 @@ struct test_case tc[] = {
> > static struct test_variants {
> > int (*clock_adjtime)(clockid_t clk_id, void *timex);
> > enum tst_timex_type type;
> > - char *desc;
> > } variants[] = {
> > #if (__NR_clock_adjtime != __LTP__NR_INVALID_SYSCALL)
> > - {.clock_adjtime = sys_clock_adjtime, .type = TST_KERN_OLD_TIMEX, .desc = "syscall with old kernel spec"},
> > + {.clock_adjtime = sys_clock_adjtime, .type = TST_KERN_OLD_TIMEX},
> > #endif
> > -
> > #if (__NR_clock_adjtime64 != __LTP__NR_INVALID_SYSCALL)
> > - {.clock_adjtime = sys_clock_adjtime64, .type = TST_KERN_TIMEX, .desc = "syscall time64 with kernel spec"},
> > + {.clock_adjtime = sys_clock_adjtime64, .type = TST_KERN_TIMEX},
> > #endif
> > };
> >
> > @@ -188,8 +186,6 @@ static void setup(void)
> > size_t i;
> > int rval;
> >
> > - tst_res(TINFO, "Testing variant: %s", tv->desc);
> > -
> > saved.type = tv->type;
> > rval = tv->clock_adjtime(CLOCK_REALTIME, tst_timex_get(&saved));
> > if (rval < 0) {
> > @@ -257,7 +253,15 @@ static struct tst_test test = {
> > .setup = setup,
> > .cleanup = cleanup,
> > .tcnt = ARRAY_SIZE(tc),
> > - .test_variants = ARRAY_SIZE(variants),
> > + .test_variants = (const char *[]) {
> > +#if (__NR_clock_adjtime != __LTP__NR_INVALID_SYSCALL)
> > + "syscall with old kernel spec",
> > +#endif
> > +#if (__NR_clock_adjtime64 != __LTP__NR_INVALID_SYSCALL)
> > + "syscall time64 with kernel spec",
> > +#endif
> > + NULL
> > + },
>
> I do not think that having more ifdefs and splitting the test variant
> structure helps to make things simple in the case of timer testcases.
>
> What exact problem are you trying to solve?
This is exactly what I thought about this when I saw the patch, and then also
the problem of syncing two different arrays with their names (specially in my
tests).
--
viresh
More information about the ltp
mailing list