[LTP] [PATCH v2 1/7] syscalls/clone01: Convert to new API
Petr Vorel
pvorel@suse.cz
Thu Sep 2 08:02:17 CEST 2021
Hi zhanglianjie,
...
> +static void verify_clone(void)
> {
> - void *child_stack;
> int status, child_pid;
> - tst_parse_opts(ac, av, NULL, NULL);
> -
> - setup();
> + TST_EXP_POSITIVE(ltp_clone(SIGCHLD, do_child, NULL,
Shouldn't be TST_EXP_PID_SILENT()
Because TST_EXP_POSITIVE() prints extra TPASS which is useless:
clone01.c:31: TPASS: clone() returned 11556
clone01.c:37: TPASS: clone returned 11556
clone01.c:43: TPASS: Child exited with 0
but with TST_EXP_PID_SILENT():
clone01.c:37: TPASS: clone returned 11986
clone01.c:43: TPASS: Child exited with 0
and on deliberate error (using -1 as flag):
clone01.c:31: TFAIL: clone() failed: EINVAL (22)
clone01.c:34: TBROK: wait(0x7ffed515f3ec) failed: ECHILD (10)
> + CHILD_STACK_SIZE, child_stack), "clone()");
> - child_stack = malloc(CHILD_STACK_SIZE);
> - if (child_stack == NULL)
> - tst_brkm(TBROK, cleanup, "Cannot allocate stack for child");
> + child_pid = SAFE_WAIT(&status);
> - tst_count = 0;
> -
> - TEST(ltp_clone(SIGCHLD, do_child, NULL, CHILD_STACK_SIZE, child_stack));
> - if (TEST_RETURN == -1)
> - tst_resm(TFAIL | TTERRNO, "clone failed");
> -
> - child_pid = SAFE_WAIT(cleanup, &status);
> -
> - if (TEST_RETURN == child_pid)
> - tst_resm(TPASS, "clone returned %ld", TEST_RETURN);
> + if (TST_RET == child_pid)
if (child_pid == TST_RET)
=> run `make check-clone01' to see this error (and run make check-* for other
tests).
Kind regards,
Petr
More information about the ltp
mailing list