[PATCH] psxhdrs: Add POSIX API Signature Compliance Tests for net/if.h

Joel Sherrill joel at rtems.org
Wed Dec 12 21:01:54 UTC 2018


Thank you!

I had to make two changes:

  + NULL -> (void *) 0 since NULL is not necessarily defined without
including another .h
 + two spaces not a tab

This is now merged.

On Tue, Dec 11, 2018 at 6:30 PM Jacob Shin <jacobshin313 at gmail.com> wrote:

> ---
>  testsuites/psxtests/Makefile.am                    |  6 ++-
>  .../psxtests/psxhdrs/net/if/if_freenameindex.c     | 47
> +++++++++++++++++++++
>  .../psxtests/psxhdrs/net/if/if_indextoname.c       | 49
> ++++++++++++++++++++++
>  testsuites/psxtests/psxhdrs/net/if/if_nameindex.c  | 47
> +++++++++++++++++++++
>  .../psxtests/psxhdrs/net/if/if_nametoindex.c       | 48
> +++++++++++++++++++++
>  5 files changed, 196 insertions(+), 1 deletion(-)
>  create mode 100755 testsuites/psxtests/psxhdrs/net/if/if_freenameindex.c
>  create mode 100755 testsuites/psxtests/psxhdrs/net/if/if_indextoname.c
>  create mode 100755 testsuites/psxtests/psxhdrs/net/if/if_nameindex.c
>  create mode 100755 testsuites/psxtests/psxhdrs/net/if/if_nametoindex.c
>
> diff --git a/testsuites/psxtests/Makefile.am
> b/testsuites/psxtests/Makefile.am
> index a2b04caf33..3f64ebca32 100644
> --- a/testsuites/psxtests/Makefile.am
> +++ b/testsuites/psxtests/Makefile.am
> @@ -1809,7 +1809,11 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
>         psxhdrs/stdlib/wcstombs.c \
>         psxhdrs/stdlib/wctomb.c \
>         psxhdrs/sys/times/times.c \
> -       psxhdrs/sys/resource/getrusage.c
> +       psxhdrs/sys/resource/getrusage.c \
> +       psxhdrs/net/if/if_freenameindex.c \
> +       psxhdrs/net/if/if_indextoname.c \
> +       psxhdrs/net/if/if_nameindex.c \
> +       psxhdrs/net/if/if_nametoindex.c
>
>  ## Not supported by RTEMS, but POSIX API Compliance tests exist.
>  ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c
> diff --git a/testsuites/psxtests/psxhdrs/net/if/if_freenameindex.c
> b/testsuites/psxtests/psxhdrs/net/if/if_freenameindex.c
> new file mode 100755
> index 0000000000..e1792e1f80
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/net/if/if_freenameindex.c
> @@ -0,0 +1,47 @@
> +/**
> + *  @file
> + *  @brief if_freenameindex() 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 <net/if.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       struct if_nameindex *ptr = if_nameindex();
> +
> +       if_freenameindex(ptr);
> +       return 1;
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/net/if/if_indextoname.c
> b/testsuites/psxtests/psxhdrs/net/if/if_indextoname.c
> new file mode 100755
> index 0000000000..0004d5426b
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/net/if/if_indextoname.c
> @@ -0,0 +1,49 @@
> +/**
> + *  @file
> + *  @brief if_indextoname() 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 <net/if.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       char *return_value;
> +       unsigned ifindex = 1;
> +       char ifname[IF_NAMESIZE];
> +
> +       return_value = if_indextoname(ifindex, ifname);
> +       return (return_value != NULL);
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/net/if/if_nameindex.c
> b/testsuites/psxtests/psxhdrs/net/if/if_nameindex.c
> new file mode 100755
> index 0000000000..f8a71d24a9
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/net/if/if_nameindex.c
> @@ -0,0 +1,47 @@
> +/**
> + *  @file
> + *  @brief if_nameindex() 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 <net/if.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       struct if_nameindex *return_value;
> +
> +       return_value = if_nameindex();
> +       return (return_value != NULL);
> +}
> \ No newline at end of file
> diff --git a/testsuites/psxtests/psxhdrs/net/if/if_nametoindex.c
> b/testsuites/psxtests/psxhdrs/net/if/if_nametoindex.c
> new file mode 100755
> index 0000000000..f2ab5075bb
> --- /dev/null
> +++ b/testsuites/psxtests/psxhdrs/net/if/if_nametoindex.c
> @@ -0,0 +1,48 @@
> +/**
> + *  @file
> + *  @brief if_nametoindex() 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 <net/if.h>
> +
> +int test( void );
> +
> +int test( void )
> +{
> +       unsigned return_value;
> +       char *ifname = "test";
> +
> +       return_value = if_nametoindex(ifname);
> +       return (return_value != 0);
> +}
> \ 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/20181212/37ee8706/attachment-0002.html>


More information about the devel mailing list