From 9084b6b53faeaa442b870b6dbb966cf58c63a501 Mon Sep 17 00:00:00 2001 From: Jacob Shin Date: Sun, 9 Dec 2018 19:05:54 -0500 Subject: psxhdrs: Add POSIX API Signature Compliance Tests for sys/resource.h (GCI 2018) --- testsuites/psxtests/Makefile.am | 7 +++- .../psxtests/psxhdrs/sys/resource/getpriority.c | 39 ++++++++++++++++++++ .../psxtests/psxhdrs/sys/resource/getrlimit.c | 38 ++++++++++++++++++++ .../psxtests/psxhdrs/sys/resource/getrusage.c | 38 ++++++++++++++++++++ .../psxtests/psxhdrs/sys/resource/setpriority.c | 40 +++++++++++++++++++++ .../psxtests/psxhdrs/sys/resource/setrlimit.c | 41 ++++++++++++++++++++++ 6 files changed, 202 insertions(+), 1 deletion(-) create mode 100755 testsuites/psxtests/psxhdrs/sys/resource/getpriority.c create mode 100755 testsuites/psxtests/psxhdrs/sys/resource/getrlimit.c create mode 100755 testsuites/psxtests/psxhdrs/sys/resource/getrusage.c create mode 100755 testsuites/psxtests/psxhdrs/sys/resource/setpriority.c create mode 100755 testsuites/psxtests/psxhdrs/sys/resource/setrlimit.c diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index e854c52591..3c5016d567 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -1797,7 +1797,8 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ psxhdrs/stdlib/unsetenv.c \ psxhdrs/stdlib/wcstombs.c \ psxhdrs/stdlib/wctomb.c \ - psxhdrs/sys/times/times.c + psxhdrs/sys/times/times.c \ + psxhdrs/sys/resource/getrusage.c ## Not supported by RTEMS, but POSIX API Compliance tests exist. ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c @@ -1840,6 +1841,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ ## lib_a_SOURCES += psxhdrs/stdlib/ptsname.c See ticket #3647 ## lib_a_SOURCES += psxhdrs/stdlib/unlockpt.c See ticket #3648 ## lib_a_SOURCES += psxhdrs/sys/ftok.c See ticket #3650 +## lib_a_SOURCES += psxhdrs/sys/resource/getpriority.c See ticket #3652 +## 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 endif rtems_tests_PROGRAMS = $(psx_tests) diff --git a/testsuites/psxtests/psxhdrs/sys/resource/getpriority.c b/testsuites/psxtests/psxhdrs/sys/resource/getpriority.c new file mode 100755 index 0000000000..52046a430e --- /dev/null +++ b/testsuites/psxtests/psxhdrs/sys/resource/getpriority.c @@ -0,0 +1,39 @@ +/** + * @file + * @brief getpriority() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 ) +{ + int return_value; + int which = PRIO_PROCESS; + id_t who = getpid(); + + return_value = getpriority(which, who); + return(return_value != -1); +} diff --git a/testsuites/psxtests/psxhdrs/sys/resource/getrlimit.c b/testsuites/psxtests/psxhdrs/sys/resource/getrlimit.c new file mode 100755 index 0000000000..54f7e5a461 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/sys/resource/getrlimit.c @@ -0,0 +1,38 @@ +/** + * @file + * @brief getrlimit() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 + +int test( void ); + +int test( void ) +{ + int return_value; + int resource = RLIMIT_CORE; + struct rlimit rlp; + + return_value = getrlimit(resource, &rlp); + return(return_value != -1); +} diff --git a/testsuites/psxtests/psxhdrs/sys/resource/getrusage.c b/testsuites/psxtests/psxhdrs/sys/resource/getrusage.c new file mode 100755 index 0000000000..4e0d6831cf --- /dev/null +++ b/testsuites/psxtests/psxhdrs/sys/resource/getrusage.c @@ -0,0 +1,38 @@ +/** + * @file + * @brief getrusage() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 + +int test( void ); + +int test( void ) +{ + int return_value; + int who = RUSAGE_SELF; + struct rusage r_usage; + + return_value = getrusage(who, &r_usage); + return(return_value != -1); +} diff --git a/testsuites/psxtests/psxhdrs/sys/resource/setpriority.c b/testsuites/psxtests/psxhdrs/sys/resource/setpriority.c new file mode 100755 index 0000000000..185c5045b7 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/sys/resource/setpriority.c @@ -0,0 +1,40 @@ +/** + * @file + * @brief setpriority() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 ) +{ + int return_value; + int which = PRIO_PROCESS; + id_t who = getpid(); + id_t value = 1; + + return_value = setpriority(which, who, value); + return (return_value != -1); +} diff --git a/testsuites/psxtests/psxhdrs/sys/resource/setrlimit.c b/testsuites/psxtests/psxhdrs/sys/resource/setrlimit.c new file mode 100755 index 0000000000..2c4f6bdfd6 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/sys/resource/setrlimit.c @@ -0,0 +1,41 @@ +/** + * @file + * @brief setrlimit() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 + +int test( void ); + +int test( void ) +{ + int return_value; + int resource = RLIMIT_CORE; + struct rlimit limit; + struct rlimit *rlp = &limit; + limit.rlim_cur = 0; + limit.rlim_max = 1; + + return_value = setrlimit(resource, rlp); + return (return_value != -1); +} -- cgit v1.2.3