[PATCH] psxhdrs: Add POSIX API Signature Compliance Tests for sys/select.h

Joel Sherrill joel at rtems.org
Thu Dec 13 15:37:29 UTC 2018


I replaced tabs with spaces and correct indentation in a couple of places.

I also fixed a minor typo.

Pushed.

Thanks.

On Wed, Dec 12, 2018 at 6:46 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                   |  8 +++-
>  testsuites/psxtests/psxhdrs/sys/select/FD_CLR.c   | 48
> ++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/sys/select/FD_ISSET.c | 49
> +++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/sys/select/FD_SET.c   | 48
> ++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/sys/select/FD_ZERO.c  | 47
> ++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/sys/select/pselect.c  | 53
> +++++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/sys/select/select.c   | 52
> ++++++++++++++++++++++
>  7 files changed, 304 insertions(+), 1 deletion(-)
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/FD_CLR.c
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/FD_ISSET.c
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/FD_SET.c
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/FD_ZERO.c
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/pselect.c
>  create mode 100755 testsuites/psxtests/psxhdrs/sys/select/select.c
>
> diff --git a/testsuites/psxtests/Makefile.am
> b/testsuites/psxtests/Makefile.am
> index 1ce9b20d67..e3bde2f64d 100644
> --- a/testsuites/psxtests/Makefile.am
> +++ b/testsuites/psxtests/Makefile.am
> @@ -1819,7 +1819,13 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
>         psxhdrs/setjmp/longjmp.c \
>         psxhdrs/setjmp/setjmp.c \
>         psxhdrs/setjmp/siglongjmp.c \
> -       psxhdrs/setjmp/sigsetjmp.c
> +       psxhdrs/setjmp/sigsetjmp.c \
> +       psxhdrs/sys/select/FD_CLR.c \
> +       psxhdrs/sys/select/FD_ISSET.c \
> +       psxhdrs/sys/select/FD_SET.c \
> +       psxhdrs/sys/select/FD_ZERO.c \
> +       psxhdrs/sys/pselect.c \
> +       psxhdrs/sys/select.c
>
>  ## Not supported by RTEMS, but POSIX API Compliance tests exist.
>  ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/FD_CLR.c
> b/testsuites/psxtests/psxhdrs/sys/select/FD_CLR.c
> new file mode 100755
> index 0000000000..b165e9159e
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/FD_CLR.c
> @@ -0,0 +1,48 @@
> +/**
> + *  @file
> + *  @brief FD_CLR() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       int fd = 1;
> +       fd_set fdset;
> +
> +       FD_CLR(fd, &fdset);
> +       return 1;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/FD_ISSET.c
> b/testsuites/psxtests/psxhdrs/sys/select/FD_ISSET.c
> new file mode 100755
> index 0000000000..0b3190b817
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/FD_ISSET.c
> @@ -0,0 +1,49 @@
> +/**
> + *  @file
> + *  @brief FD_ISSET() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       int return_value;
> +       int fd = 1;
> +       fd_set fdset;
> +
> +       return_value = FD_ISSET(fd, &fdset);
> +       return return_value;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/FD_SET.c
> b/testsuites/psxtests/psxhdrs/sys/select/FD_SET.c
> new file mode 100755
> index 0000000000..0de0b346fa
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/FD_SET.c
> @@ -0,0 +1,48 @@
> +/**
> + *  @file
> + *  @brief FD_SET() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       int fd = 1;
> +       fd_set fdset;
> +
> +       FD_SET(fd, &fdset);
> +       return 1;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/FD_ZERO.c
> b/testsuites/psxtests/psxhdrs/sys/select/FD_ZERO.c
> new file mode 100755
> index 0000000000..d39d9e78c4
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/FD_ZERO.c
> @@ -0,0 +1,47 @@
> +/**
> + *  @file
> + *  @brief FD_ZERO() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       fd_set fdset;
> +
> +       FD_ZERO(&fdset);
> +       return 1;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/pselect.c
> b/testsuites/psxtests/psxhdrs/sys/select/pselect.c
> new file mode 100755
> index 0000000000..1b2922528e
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/pselect.c
> @@ -0,0 +1,53 @@
> +/**
> + *  @file
> + *  @brief pselect() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       int return_value;
> +       int nfds = 1;
> +       fd_set readfds;
> +    fd_set writefds;
> +    fd_set errorfds;
> +    struct timespec timeout;
> +    sigset_t sigmask;
> +
> +       return_value = pselect(nfds, &readfds, &writefds, &errorfds,
> &timeout, &sigmask);
> +       return return_value;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/sys/select/select.c
> b/testsuites/psxtests/psxhdrs/sys/select/select.c
> new file mode 100755
> index 0000000000..12fc927404
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/sys/select/select.c
> @@ -0,0 +1,52 @@
> +/**
> + *  @file
> + *  @brief select() 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/select.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       int return_value;
> +       int nfds = 1;
> +       fd_set readfds;
> +    fd_set writefds;
> +    fd_set errorfds;
> +    struct timeval timeout;
> +
> +       return_value = select(nfds, &readfds, &writefds, &errorfds,
> &timeout);
> +       return return_value;
> +}
> \ 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/5fd02816/attachment-0001.html>


More information about the devel mailing list