summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Shin <jacobshin313@gmail.com>2018-12-09 10:31:41 -0600
committerJoel Sherrill <joel@rtems.org>2018-12-09 16:33:59 -0600
commit9e7e8b3f2c40daa1ed7c36460c86590db6236d0d (patch)
treea64342453d1c2804d29478789233e78401837021
parentb009cfb6382bddd86440ce56c8206efb4540ec28 (diff)
psxhdrs: Add POSIX API Signature Compliance Tests for sys/stat.h (GCI 2018)
-rw-r--r--testsuites/psxtests/Makefile.am28
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/chmod.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/fchmod.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/fchmodat.c41
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/fstat.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/fstatat.c41
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/futimens.c39
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/lstat.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mkdir.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mkdirat.c39
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mkfifo.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mkfifoat.c39
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mknod.c39
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/mknodat.c40
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/stat.c38
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/umask.c37
-rw-r--r--testsuites/psxtests/psxhdrs/sys/stat/utimensat.c41
17 files changed, 644 insertions, 6 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index 01fd04a52e..164cb9f329 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1084,6 +1084,28 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/sys/socket/sendto.c psxhdrs/sys/socket/setsockopt.c \
psxhdrs/sys/socket/shutdown.c psxhdrs/sys/socket/socket.c \
psxhdrs/sys/socket/socketpair.c \
+ psxhdrs/sys/stat/chmod.c \
+ psxhdrs/sys/stat/fchmodat.c \
+ psxhdrs/sys/stat/fchmod.c \
+ psxhdrs/sys/stat/fstatat.c \
+ psxhdrs/sys/stat/fstat.c \
+ psxhdrs/sys/stat/futimens.c \
+ psxhdrs/sys/stat/lstat.c \
+ psxhdrs/sys/stat/mkdirat.c \
+ psxhdrs/sys/stat/mkdir.c \
+ psxhdrs/sys/stat/mkfifoat.c \
+ psxhdrs/sys/stat/mkfifo.c \
+ psxhdrs/sys/stat/mknodat.c \
+ psxhdrs/sys/stat/mknod.c \
+ psxhdrs/sys/stat/stat.c \
+ psxhdrs/sys/stat/umask.c \
+ psxhdrs/sys/stat/utimensat.c \
+ psxhdrs/sys/time/select.c \
+ psxhdrs/sys/time/utimes.c \
+ psxhdrs/sys/time/setitimer.c \
+ psxhdrs/sys/time/getitimer.c \
+ psxhdrs/sys/time/gettimeofday.c \
+ psxhdrs/sys/utsname/uname.c \
psxhdrs/dirent/alphasort.c \
psxhdrs/dirent/closedir.c \
psxhdrs/dirent/opendir.c \
@@ -1437,15 +1459,9 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/iconv/iconv_close.c \
psxhdrs/iconv/iconv_open.c \
psxhdrs/regex/regfree.c \
- psxhdrs/sys/time/select.c \
- psxhdrs/sys/time/utimes.c \
- psxhdrs/sys/time/setitimer.c \
- psxhdrs/sys/time/getitimer.c \
- psxhdrs/sys/time/gettimeofday.c \
psxhdrs/langinfo/nl_langinfo.c \
psxhdrs/langinfo/nl_langinfo_l.c \
psxhdrs/assert/assert.c \
- psxhdrs/sys/utsname/uname.c \
psxhdrs/complex/cabs.c \
psxhdrs/complex/cabsf.c \
psxhdrs/complex/cabsl.c \
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/chmod.c b/testsuites/psxtests/psxhdrs/sys/stat/chmod.c
new file mode 100644
index 0000000000..019a85efd2
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/chmod.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief chmod() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/";
+ mode_t mode = S_ISUID;
+
+ return_value = chmod(path, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/fchmod.c b/testsuites/psxtests/psxhdrs/sys/stat/fchmod.c
new file mode 100644
index 0000000000..6bbd696208
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/fchmod.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief fchmod() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fildes = 1;
+ mode_t mode = S_ISUID;
+
+ return_value = fchmod(fildes, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/fchmodat.c b/testsuites/psxtests/psxhdrs/sys/stat/fchmodat.c
new file mode 100644
index 0000000000..17e90a1388
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/fchmodat.c
@@ -0,0 +1,41 @@
+/**
+ * @file
+ * @brief fchmodat() 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/stat.h>
+#include <fcntl.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ char *path = "/";
+ mode_t mode = S_ISUID;
+ int flag = AT_SYMLINK_NOFOLLOW;
+
+ return_value = fchmodat(fd, path, mode, flag);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/fstat.c b/testsuites/psxtests/psxhdrs/sys/stat/fstat.c
new file mode 100644
index 0000000000..0b152cedbe
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/fstat.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief fstat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fildes = 1;
+ struct stat buf;
+
+ return_value = fstat(fildes, &buf);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/fstatat.c b/testsuites/psxtests/psxhdrs/sys/stat/fstatat.c
new file mode 100644
index 0000000000..94c4503c0c
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/fstatat.c
@@ -0,0 +1,41 @@
+/**
+ * @file
+ * @brief fstatat() 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/stat.h>
+#include <fcntl.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fildes = 1;
+ char *path = "/";
+ struct stat buf;
+ int flag = AT_SYMLINK_NOFOLLOW;
+
+ return_value = fstatat(fildes, path, &buf, flag);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/futimens.c b/testsuites/psxtests/psxhdrs/sys/stat/futimens.c
new file mode 100644
index 0000000000..3bbb62db3e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/futimens.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief futimens() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ struct timespec times[2];
+
+
+ return_value = futimens(fd, times);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/lstat.c b/testsuites/psxtests/psxhdrs/sys/stat/lstat.c
new file mode 100644
index 0000000000..37def2eb19
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/lstat.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief lstat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/";
+ struct stat buf;
+
+ return_value = lstat(path, &buf);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mkdir.c b/testsuites/psxtests/psxhdrs/sys/stat/mkdir.c
new file mode 100644
index 0000000000..291b758e8a
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mkdir.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief mkdir() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/tmp/directory";
+ mode_t mode = S_IRWXU;
+
+ return_value = mkdir(path, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mkdirat.c b/testsuites/psxtests/psxhdrs/sys/stat/mkdirat.c
new file mode 100644
index 0000000000..c8417687a2
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mkdirat.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief mkdirat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ char *path = "/tmp/directory";
+ mode_t mode = S_IRWXU;
+
+ return_value = mkdirat(fd, path, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mkfifo.c b/testsuites/psxtests/psxhdrs/sys/stat/mkfifo.c
new file mode 100644
index 0000000000..ff429e339e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mkfifo.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief mkfifo() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/tmp/file";
+ mode_t mode = S_IRUSR;
+
+ return_value = mkfifo(path, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mkfifoat.c b/testsuites/psxtests/psxhdrs/sys/stat/mkfifoat.c
new file mode 100644
index 0000000000..de0ba6f284
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mkfifoat.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief mkfifoat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ char *path = "/tmp/file";
+ mode_t mode = S_IRUSR;
+
+ return_value = mkfifoat(fd, path, mode);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mknod.c b/testsuites/psxtests/psxhdrs/sys/stat/mknod.c
new file mode 100644
index 0000000000..e3e3caec2e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mknod.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief mknod() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/tmp/file";
+ mode_t mode = S_ISUID;
+ dev_t dev = 0;
+
+ return_value = mknod(path, mode, dev);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/mknodat.c b/testsuites/psxtests/psxhdrs/sys/stat/mknodat.c
new file mode 100644
index 0000000000..cac9644e74
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/mknodat.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * @brief mknodat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ char *path = "/tmp/file";
+ mode_t mode = S_ISUID;
+ dev_t dev = 0;
+
+ return_value = mknodat(fd, path, mode, dev);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/stat.c b/testsuites/psxtests/psxhdrs/sys/stat/stat.c
new file mode 100644
index 0000000000..3759275f30
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/stat.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief stat() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ char *path = "/";
+ struct stat buf;
+
+ return_value = stat(path, &buf);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/umask.c b/testsuites/psxtests/psxhdrs/sys/stat/umask.c
new file mode 100644
index 0000000000..5b03996907
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/umask.c
@@ -0,0 +1,37 @@
+/**
+ * @file
+ * @brief umask() 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/stat.h>
+
+int test( void );
+
+int test( void )
+{
+ mode_t return_value;
+ mode_t cmask = S_IRWXG;
+
+ return_value = umask(cmask);
+ return return_value;
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/sys/stat/utimensat.c b/testsuites/psxtests/psxhdrs/sys/stat/utimensat.c
new file mode 100644
index 0000000000..8f3eae12bd
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/sys/stat/utimensat.c
@@ -0,0 +1,41 @@
+/**
+ * @file
+ * @brief utimensat() 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/stat.h>
+#include <fcntl.h>
+
+int test( void );
+
+int test( void )
+{
+ int return_value;
+ int fd = 1;
+ char *path = "/";
+ struct timespec times[2];
+ int flag = AT_SYMLINK_NOFOLLOW;
+
+ return_value = utimensat(fd, path, times, flag);
+ return (return_value != -1);
+} \ No newline at end of file