[PATCH] psxhdrs: Add POSIX API Signature Compliance Tests for sys/msg.h
Joel Sherrill
joel at rtems.org
Thu Dec 13 15:44:47 UTC 2018
I changed tabs to spaces but that was all.
Pushed.
Thanks.
--joel
On Wed, Dec 12, 2018 at 7:04 PM Jacob Shin <jacobshin313 at gmail.com> wrote:
> The Google Code-In finished before I could submit this, so I thought I
> would submit this instead of letting it go to waste.
> ---
> testsuites/psxtests/Makefile.am | 4 ++
> testsuites/psxtests/psxhdrs/sys/msg/msgctl.c | 51 ++++++++++++++++++++++++
> testsuites/psxtests/psxhdrs/sys/msg/msgget.c | 50 ++++++++++++++++++++++++
> testsuites/psxtests/psxhdrs/sys/msg/msgrcv.c | 56
> +++++++++++++++++++++++++++
> testsuites/psxtests/psxhdrs/sys/msg/msgsnd.c | 58
> ++++++++++++++++++++++++++++
> 5 files changed, 219 insertions(+)
> create mode 100755 testsuites/psxtests/psxhdrs/sys/msg/msgctl.c
> create mode 100755 testsuites/psxtests/psxhdrs/sys/msg/msgget.c
> create mode 100755 testsuites/psxtests/psxhdrs/sys/msg/msgrcv.c
> create mode 100755 testsuites/psxtests/psxhdrs/sys/msg/msgsnd.c
>
> diff --git a/testsuites/psxtests/Makefile.am
> b/testsuites/psxtests/Makefile.am
> index 1ce9b20d67..46d2c33d8e 100644
> --- a/testsuites/psxtests/Makefile.am
> +++ b/testsuites/psxtests/Makefile.am
> @@ -1869,6 +1869,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
> ## lib_a_SOURCES += psxhdrs/sys/resource/getrlimit.c See ticket #3653
> ## lib_a_SOURCES += psxhdrs/sys/resource/setpriority.c See ticket #3654
> ## lib_a_SOURCES += psxhdrs/sys/resource/setrlimit.c See ticket #3655
> +## lib_a_SOURCES += psxhdrs/sys/msg/msgctl.c See ticket #3658
> +## lib_a_SOURCES += psxhdrs/sys/msg/msgget.c See ticket #3658
> +## lib_a_SOURCES += psxhdrs/sys/msg/msgrcv.c See ticket #3658
> +## lib_a_SOURCES += psxhdrs/sys/msg/msgsnd.c See ticket #3658
> endif
>
> rtems_tests_PROGRAMS = $(psx_tests)
> diff --git a/testsuites/psxtests/psxhdrs/sys/msg/msgctl.c
> b/testsuites/psxtests/psxhdrs/sys/msg/msgctl.c
> new file mode 100755
> index 0000000000..df914a866e
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/msg/msgctl.c
> @@ -0,0 +1,51 @@
> +/**
> + * @file
> + * @brief msgctl() API Conformance Test
> + */
> +
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (C) 2018 Jacob Shin
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
> BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
> THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#define _XOPEN_SOURCE
> +#include <sys/msg.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + int return_value;
> + int msqid = msgget(IPC_PRIVATE, IPC_CREAT | 0660);
> + int cmd = IPC_STAT;
> + struct msqid_ds buf;
> +
> + return_value = msgctl(msqid, cmd, &buf);
> + return (return_value != -1);
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/msg/msgget.c
> b/testsuites/psxtests/psxhdrs/sys/msg/msgget.c
> new file mode 100755
> index 0000000000..9881fe23f7
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/msg/msgget.c
> @@ -0,0 +1,50 @@
> +/**
> + * @file
> + * @brief msgget() API Conformance Test
> + */
> +
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (C) 2018 Jacob Shin
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
> BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
> THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#define _XOPEN_SOURCE
> +#include <sys/msg.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + int return_value;
> + key_t key = IPC_PRIVATE;
> + int msgflg = IPC_CREAT | 0660;
> +
> + return_value = msgget(key, msgflg);
> + return (return_value != -1);
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/msg/msgrcv.c
> b/testsuites/psxtests/psxhdrs/sys/msg/msgrcv.c
> new file mode 100755
> index 0000000000..960c4e7ad0
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/msg/msgrcv.c
> @@ -0,0 +1,56 @@
> +/**
> + * @file
> + * @brief msgrcv() API Conformance Test
> + */
> +
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (C) 2018 Jacob Shin
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
> BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
> THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/msg.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + int return_value;
> + int msqid = msgget(IPC_PRIVATE, IPC_CREAT | 0660);
> + struct mymsg {
> + long mtype;
> + char mtext[2];
> + };
> + struct mymsg msgp;
> + size_t msgsz = 1;
> + long msgtyp = 0;
> + int msgflg = IPC_NOWAIT;
> +
> + return_value = msgrcv(msqid, &msgp, msgsz, msgtyp, msgflg);
> + return (return_value != -1);
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/msg/msgsnd.c
> b/testsuites/psxtests/psxhdrs/sys/msg/msgsnd.c
> new file mode 100755
> index 0000000000..71f6ae8bb9
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/msg/msgsnd.c
> @@ -0,0 +1,58 @@
> +/**
> + * @file
> + * @brief msgsnd() API Conformance Test
> + */
> +
> +/*
> + * SPDX-License-Identifier: BSD-2-Clause
> + *
> + * Copyright (C) 2018 Jacob Shin
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in the
> + * documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> "AS IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
> BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
> BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
> THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#endif
> +
> +#include <sys/msg.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> + int return_value;
> + int msqid = msgget(IPC_PRIVATE, IPC_CREAT | 0660);
> + struct mymsg {
> + long mtype;
> + char mtext[2];
> + };
> + struct mymsg msgp;
> + msgp.mtype = 1;
> + msgp.mtext[0] = 'c';
> + msgp.mtext[1] = '\0';
> + size_t msgsz = 1;
> + int msgflg = IPC_NOWAIT;
> +
> + return_value = msgsnd(msqid, &msgp, msgsz, msgflg);
> + return (return_value != -1);
> +}
> \ No newline at end of file
> --
> 2.11.0
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20181213/8f7195a2/attachment-0002.html>
More information about the devel
mailing list