[LTP] [PATCH v1 2/3] syscalls/msgrcv07: Add different msgtyp test
Cyril Hrubis
chrubis@suse.cz
Thu Aug 13 16:11:04 CEST 2020
Hi!
> diff --git a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv07.c b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv07.c
> index 39fbdb67a..9b04fd2ac 100644
> --- a/testcases/kernel/syscalls/ipc/msgrcv/msgrcv07.c
> +++ b/testcases/kernel/syscalls/ipc/msgrcv/msgrcv07.c
> @@ -3,7 +3,8 @@
> * Copyright (c) 2014-2020 Fujitsu Ltd.
> * Author: Xiaoguang Wang <wangxg.fnst@cn.fujitsu.com>
> *
> - * Basic test for msgrcv(2) using MSG_EXCEPT, MSG_NOERROR
> + * Basic test for msgrcv(2) using MSG_EXCEPT, MSG_NOERROR and different
> + * msg_typ(zero,positive,negative).
> */
>
> #define _GNU_SOURCE
> @@ -22,15 +23,20 @@ static int queue_id = -1;
> static struct buf {
> long type;
> char mtext[MSGSIZE];
> -} rcv_buf, snd_buf[2] = {
> +} rcv_buf, snd_buf[3] = {
> {MSGTYPE1, MSG1},
> - {MSGTYPE2, MSG2}
> + {MSGTYPE2, MSG2},
> };
This is a bit useless change.
> static void test_msg_except(void);
> static void test_msg_noerror(void);
> +static void test_zero_msgtyp(void);
> +static void test_positive_msgtyp(void);
> +static void test_negative_msgtyp(void);
> static void cleanup(void);
> -static void (*testfunc[])(void) = {test_msg_except, test_msg_noerror};
> +static void (*testfunc[])(void) = {test_msg_except, test_msg_noerror,
> + test_zero_msgtyp, test_positive_msgtyp,
> + test_negative_msgtyp};
>
> static void verify_msgcrv(unsigned int n)
> {
> @@ -81,6 +87,73 @@ static void test_msg_noerror(void)
> SAFE_MSGCTL(queue_id, IPC_RMID, NULL);
> }
>
> +static void test_zero_msgtyp(void)
> +{
> + queue_id = SAFE_MSGGET(msgkey, IPC_CREAT | IPC_EXCL | MSG_RW);
> + SAFE_MSGSND(queue_id, &snd_buf[0], MSGSIZE, 0);
> + SAFE_MSGSND(queue_id, &snd_buf[1], MSGSIZE, 0);
> + memset(&rcv_buf, 0, sizeof(rcv_buf));
This init is common for all of these tests, I guess that it would be
easier to put this piece of code into a function called prepare_queue()
so that we do not have to repeat it all over.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list