[LTP] [PATCH] [v1, 1/2] syscalls/sched_get_priority_max01: Convert to new API
Cyril Hrubis
chrubis@suse.cz
Mon Dec 13 17:32:43 CET 2021
Hi!
> +/*\
> + * [Description]
> + *
> * This is a Phase I test for the sched_get_priority_max(2) system call.
> * It is intended to provide a limited exposure of the system call.
Can we please get a better description than this?
Something along the lines that it gets max prio for different
schedulling policies and compares that with expected value?
> #include <errno.h>
> #include <sched.h>
> -#include "test.h"
> -
> -static void setup();
> -static void cleanup();
> +#include "lapi/syscalls.h"
> +#include "tst_test.h"
>
> -char *TCID = "sched_get_priority_max01";
> -
> -static struct test_case_t {
> +static struct test_case {
> char *desc;
> int policy;
> int retval;
> -} test_cases[] = {
> +} tcases[] = {
> {
> "Test for SCHED_OTHER", SCHED_OTHER, 0}, {
> "Test for SCHED_FIFO", SCHED_FIFO, 99}, {
> "Test for SCHED_RR", SCHED_RR, 99}
This formatting looks really strange, the opening and closing braces
should be on the same line as:
{"foo", foo, 0},
...
Also there is no point to repeat the "Test for" in each string, all that
needs to be stored in the desc is the name of the macro as a string.
> };
>
> -int TST_TOTAL = sizeof(test_cases) / sizeof(test_cases[0]);
>
> -int main(int ac, char **av)
> +static void run_test(unsigned int nr)
> {
>
> - int lc, ind;
> -
> - tst_parse_opts(ac, av, NULL, NULL);
> -
> - setup();
> + struct test_case *tc = &tcases[nr];
>
> - for (lc = 0; TEST_LOOPING(lc); lc++) {
> + TEST(tst_syscall(__NR_sched_get_priority_max, tc->policy));
Can we please switch to TST_EXP_POSITIVE() here?
This part should look like:
TST_EXP_POSITIVE(...);
if (!TST_PASS)
return;
if (TST_RET == tc->retval)
tst_res(TPASS, ...);
else
tst_res(FAIL, ...);
> - tst_count = 0;
> -
> - for (ind = 0; ind < TST_TOTAL; ind++) {
> - /*
> - * Call sched_get_priority_max(2)
> - */
> - TEST(sched_get_priority_max(test_cases[ind].policy));
> -
> - if (TEST_RETURN == test_cases[ind].retval) {
> - tst_resm(TPASS, "%s Passed",
> - test_cases[ind].desc);
> - } else {
> - tst_resm(TFAIL | TTERRNO, "%s Failed, "
> - "sched_get_priority_max() returned %ld",
> - test_cases[ind].desc, TEST_RETURN);
> - }
> - }
> + if (TST_RET == tc->retval) {
> + tst_res(TPASS, "%s Passed",
> + tc->desc);
> + } else {
> + tst_res(TFAIL | TTERRNO, "%s Failed, "
> + "sched_get_priority_max() returned %ld",
> + tc->desc, TST_RET);
> }
>
> - /* cleanup and exit */
> - cleanup();
> -
> - tst_exit();
> -
> -}
> -
> -/* setup() - performs all ONE TIME setup for this test */
> -void setup(void)
> -{
> -
> - tst_sig(NOFORK, DEF_HANDLER, cleanup);
> -
> - TEST_PAUSE;
> -
> }
>
> -/*
> - *cleanup() - performs all ONE TIME cleanup for this test at
> - * completion or premature exit.
> - */
> -void cleanup(void)
> -{
> -
> -}
> +static struct tst_test test = {
> + .tcnt = ARRAY_SIZE(tcases),
> + .test = run_test,
> +};
> --
> 2.20.1
>
>
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list