From b05aa8ee41eb77d6654c2d1700d2db780719ca23 Mon Sep 17 00:00:00 2001 From: Himanshu40 Date: Mon, 10 Dec 2018 12:50:47 -0600 Subject: psxhdrs: Add POSIX API Signature Compliance Tests for pwd.h (GCI 2018) --- testsuites/psxtests/psxhdrs/pwd/endpwent.c | 39 ++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/getpwent.c | 38 ++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/getpwnam.c | 38 ++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/getpwnam_r.c | 47 +++++++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/getpwuid.c | 39 ++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/getpwuid_r.c | 48 ++++++++++++++++++++++++++++ testsuites/psxtests/psxhdrs/pwd/setpwent.c | 39 ++++++++++++++++++++++ 7 files changed, 288 insertions(+) create mode 100644 testsuites/psxtests/psxhdrs/pwd/endpwent.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/getpwent.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/getpwnam.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/getpwnam_r.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/getpwuid.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/getpwuid_r.c create mode 100644 testsuites/psxtests/psxhdrs/pwd/setpwent.c (limited to 'testsuites/psxtests/psxhdrs/pwd') diff --git a/testsuites/psxtests/psxhdrs/pwd/endpwent.c b/testsuites/psxtests/psxhdrs/pwd/endpwent.c new file mode 100644 index 0000000000..8a55f0112e --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/endpwent.c @@ -0,0 +1,39 @@ +/** + * @file + * @brief endpwent() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + + pswd = getpwent(); + endpwent(); + + return ( pswd != NULL ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/getpwent.c b/testsuites/psxtests/psxhdrs/pwd/getpwent.c new file mode 100644 index 0000000000..8b7c555556 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/getpwent.c @@ -0,0 +1,38 @@ +/** + * @file + * @brief getpwent() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + + pswd = getpwent(); + + return ( pswd != NULL ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/getpwnam.c b/testsuites/psxtests/psxhdrs/pwd/getpwnam.c new file mode 100644 index 0000000000..c356b928ad --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/getpwnam.c @@ -0,0 +1,38 @@ +/** + * @file + * @brief getpwnam() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + + pswd = getpwnam( "Hello World" ); + + return ( pswd != NULL ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/getpwnam_r.c b/testsuites/psxtests/psxhdrs/pwd/getpwnam_r.c new file mode 100644 index 0000000000..3a95e9a170 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/getpwnam_r.c @@ -0,0 +1,47 @@ +/** + * @file + * @brief getpwnam_r() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + struct passwd *resl; + char *buf; + size_t bufsize; + int result; + + bufsize = sysconf( _SC_GETPW_R_SIZE_MAX ); + buf = malloc( bufsize ); + pswd = getpwent(); + result = getpwnam_r( "Hello", pswd, buf, bufsize, &resl ); + + return ( result != -1 ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/getpwuid.c b/testsuites/psxtests/psxhdrs/pwd/getpwuid.c new file mode 100644 index 0000000000..ec3733f67d --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/getpwuid.c @@ -0,0 +1,39 @@ +/** + * @file + * @brief getpwuid() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + uid_t uid = 0; + + pswd = getpwuid( uid ); + + return ( pswd != NULL ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/getpwuid_r.c b/testsuites/psxtests/psxhdrs/pwd/getpwuid_r.c new file mode 100644 index 0000000000..5e7c4e5449 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/getpwuid_r.c @@ -0,0 +1,48 @@ +/** + * @file + * @brief getpwuid_r() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + struct passwd *resl; + uid_t uid = 0; + char *buf; + size_t buflen; + int result; + + buflen = sysconf( _SC_GETPW_R_SIZE_MAX ); + buf = malloc( buflen ); + pswd = getpwent(); + result = getpwuid_r( uid, pswd, buf, buflen, &resl ); + + return ( result != -1 ); +} diff --git a/testsuites/psxtests/psxhdrs/pwd/setpwent.c b/testsuites/psxtests/psxhdrs/pwd/setpwent.c new file mode 100644 index 0000000000..9192b93483 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/pwd/setpwent.c @@ -0,0 +1,39 @@ +/** + * @file + * @brief setpwent() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * Permission to use, copy, modify, and/or distribute this software + * for any purpose with or without fee is hereby granted. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +int test( void ); + +int test( void ) +{ + struct passwd *pswd; + + pswd = getpwent(); + setpwent(); + + return ( pswd != NULL ); +} -- cgit v1.2.3