[rtems commit] psxhdrs: Add POSIX API Signature Compliance Tests for sys/ resource.h (GCI 2018)

Joel Sherrill joel at rtems.org
Mon Dec 10 17:55:01 UTC 2018


Module:    rtems
Branch:    master
Commit:    9084b6b53faeaa442b870b6dbb966cf58c63a501
Changeset: http://git.rtems.org/rtems/commit/?id=9084b6b53faeaa442b870b6dbb966cf58c63a501

Author:    Jacob Shin <jacobshin313 at gmail.com>
Date:      Sun Dec  9 19:05:54 2018 -0500

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(-)

diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index e854c52..3c5016d 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 0000000..52046a4
--- /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 <sys/resource.h>
+#include <unistd.h>
+
+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 0000000..54f7e5a
--- /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 <sys/resource.h>
+
+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 0000000..4e0d683
--- /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 <sys/resource.h>
+
+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 0000000..185c504
--- /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 <sys/resource.h>
+#include <unistd.h>
+
+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 0000000..2c4f6bd
--- /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 <sys/resource.h>
+
+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);
+}



More information about the vc mailing list