[LTP] [PATCH] [v1, 1/2] syscalls/sched_get_priority_max01: Convert to new API
sujiaxun
sujiaxun@uniontech.com
Tue Dec 14 03:59:10 CET 2021
在 2021/12/14 上午12:32, Cyril Hrubis 写道:
> 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
>
Thank you, I will resubmit after making changes.
More information about the ltp
mailing list