[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