Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests Fix msgsz confusion.



details:   https://anonhg.NetBSD.org/src/rev/489be0e91983
branches:  trunk
changeset: 788854:489be0e91983
user:      skrll <skrll%NetBSD.org@localhost>
date:      Wed Jul 24 11:44:10 2013 +0000

description:
Fix msgsz confusion.

diffstat:

 tests/kernel/t_sysv.c         |  24 ++++++++++----------
 tests/lib/libc/sys/t_msgrcv.c |  47 +++++++++++++++++++++---------------------
 2 files changed, 36 insertions(+), 35 deletions(-)

diffs (235 lines):

diff -r 0a7444477f2f -r 489be0e91983 tests/kernel/t_sysv.c
--- a/tests/kernel/t_sysv.c     Wed Jul 24 11:42:50 2013 +0000
+++ b/tests/kernel/t_sysv.c     Wed Jul 24 11:44:10 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: t_sysv.c,v 1.2 2012/11/06 18:31:53 pgoyette Exp $      */
+/*     $NetBSD: t_sysv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $ */
 
 /*-
  * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
@@ -252,11 +252,11 @@
                 */
                m.mtype = MTYPE_1;
                strcpy(m.mtext, m1_str);
-               ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
-                   "sender: msgsnd 1: %d", errno);
+               ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN,
+                   0) != -1, "sender: msgsnd 1: %d", errno);
 
-               ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
-                                      MTYPE_1_ACK, 0) == sizeof(m),
+               ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
+                                      MTYPE_1_ACK, 0) == MESSAGE_TEXT_LEN,
                    "sender: msgrcv 1 ack: %d", errno);
 
                print_msqid_ds(&m_ds, 0600);
@@ -266,11 +266,11 @@
                 */
                m.mtype = MTYPE_2;
                strcpy(m.mtext, m2_str);
-               ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
+               ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1,
                    "sender: msgsnd 2: %d", errno);
 
-               ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
-                                      MTYPE_2_ACK, 0) == sizeof(m),
+               ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
+                                      MTYPE_2_ACK, 0) == MESSAGE_TEXT_LEN,
                    "sender: msgrcv 2 ack: %d", errno);
        }
 
@@ -361,7 +361,7 @@
                /*
                 * Receive the first message, print it, and send an ACK.
                 */
-               if (msgrcv(msqid, &m, sizeof(m), MTYPE_1, 0) != sizeof(m))
+               if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_1, 0) != MESSAGE_TEXT_LEN)
                        err(1, "receiver: msgrcv 1");
 
                printf("%s\n", m.mtext);
@@ -370,14 +370,14 @@
 
                m.mtype = MTYPE_1_ACK;
 
-               if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
+               if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
                        err(1, "receiver: msgsnd ack 1");
 
                /*
                 * Receive the second message, print it, and send an ACK.
                 */
 
-               if (msgrcv(msqid, &m, sizeof(m), MTYPE_2, 0) != sizeof(m))
+               if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_2, 0) != MESSAGE_TEXT_LEN)
                        err(1, "receiver: msgrcv 2");
 
                printf("%s\n", m.mtext);
@@ -386,7 +386,7 @@
 
                m.mtype = MTYPE_2_ACK;
 
-               if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
+               if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
                        err(1, "receiver: msgsnd ack 2");
        }
 
diff -r 0a7444477f2f -r 489be0e91983 tests/lib/libc/sys/t_msgrcv.c
--- a/tests/lib/libc/sys/t_msgrcv.c     Wed Jul 24 11:42:50 2013 +0000
+++ b/tests/lib/libc/sys/t_msgrcv.c     Wed Jul 24 11:44:10 2013 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $ */
+/* $NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $ */
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $");
+__RCSID("$NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $");
 
 #include <sys/msg.h>
 #include <sys/stat.h>
@@ -51,10 +51,11 @@
 #define MSG_MTYPE_1    0x41
 #define        MSG_MTYPE_2     0x42
 #define MSG_MTYPE_3    0x43
+#define MSG_LEN                3
 
 struct msg {
        long             mtype;
-       char             buf[3];
+       char             buf[MSG_LEN];
 };
 
 static void            clean(void);
@@ -83,8 +84,8 @@
        id = msgget(MSG_KEY, IPC_CREAT | 0600);
        ATF_REQUIRE(id != -1);
 
-       (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
-       (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
+       (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+       (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
 
        ATF_CHECK(msg1.buf[0] == msg2.buf[0]);
        ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
@@ -118,7 +119,7 @@
 
        if (pid == 0) {
 
-               if (msgrcv(id, &msg, sizeof(struct msg), MSG_MTYPE_1, 0) < 0)
+               if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1, 0) < 0)
                        _exit(EXIT_FAILURE);
 
                _exit(EXIT_SUCCESS);
@@ -129,7 +130,7 @@
         * and hence kill(2) should fail with ESRCH.
         */
        (void)sleep(1);
-       (void)msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT);
+       (void)msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT);
        (void)sleep(1);
        (void)kill(pid, SIGKILL);
        (void)wait(&sta);
@@ -162,31 +163,31 @@
        errno = 0;
 
        ATF_REQUIRE_ERRNO(ENOMSG, msgrcv(id, &msg,
-               sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+               MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
 
-       ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
+       ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
 
        errno = 0;
 
        ATF_REQUIRE_ERRNO(EFAULT, msgrcv(id, (void *)-1,
-               sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+               MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
 
        errno = 0;
 
        ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
-               sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+               MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
 
        errno = 0;
 
        ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
                SSIZE_MAX, MSG_MTYPE_1, IPC_NOWAIT) == -1);
 
-       ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
+       ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
 
        errno = 0;
 
        ATF_REQUIRE_ERRNO(E2BIG, msgrcv(id, &r,
-               sizeof(int), MSG_MTYPE_1, IPC_NOWAIT) == -1);
+               MSG_LEN - 1, MSG_MTYPE_1, IPC_NOWAIT) == -1);
 
        ATF_REQUIRE(msgctl(id, IPC_RMID, 0) == 0);
 }
@@ -212,14 +213,14 @@
        id = msgget(MSG_KEY, IPC_CREAT | 0600);
        ATF_REQUIRE(id != -1);
 
-       (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
-       (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_2, IPC_NOWAIT);
+       (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+       (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_2, IPC_NOWAIT);
 
        ATF_CHECK(msg1.buf[0] != msg2.buf[0]);  /* Different mtype. */
        ATF_CHECK(msg1.buf[1] != msg2.buf[1]);
        ATF_CHECK(msg1.buf[2] != msg2.buf[2]);
 
-       (void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
+       (void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
 
        ATF_CHECK(msg1.buf[0] == msg2.buf[0]);  /* Same mtype. */
        ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
@@ -253,8 +254,7 @@
 
        for (i = 0; i < n; i++) {
 
-               ATF_REQUIRE(msgsnd(id, &msg,
-                       sizeof(struct msg), IPC_NOWAIT) == 0);
+               ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
        }
 
        pid = fork();
@@ -264,8 +264,8 @@
 
                while (i != 0) {
 
-                       if (msgrcv(id, &msg, sizeof(struct msg),
-                               MSG_MTYPE_1, IPC_NOWAIT) == -1)
+                       if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1,
+                           IPC_NOWAIT) == -1)
                                _exit(EXIT_FAILURE);
 
                        i--;
@@ -300,9 +300,10 @@
 
 ATF_TC_BODY(msgrcv_truncate, tc)
 {
+#define        MSG_SMALLLEN    2
        struct msgsmall {
                long             mtype;
-               char             buf[2];
+               char             buf[MSG_SMALLLEN];
        };
 
        struct msg msg1 = { MSG_MTYPE_1, { 'a', 'b', 'c' } };
@@ -312,8 +313,8 @@
        id = msgget(MSG_KEY, IPC_CREAT | 0600);
        ATF_REQUIRE(id != -1);
 
-       (void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
-       (void)msgrcv(id, &msg2, sizeof(struct msgsmall),
+       (void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
+       (void)msgrcv(id, &msg2, MSG_SMALLLEN,
            MSG_MTYPE_1, IPC_NOWAIT | MSG_NOERROR);
 
        ATF_CHECK(msg1.buf[0] == msg2.buf[0]);



Home | Main Index | Thread Index | Old Index