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

Joel Sherrill joel at rtems.org
Sun Dec 9 22:34:24 UTC 2018


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

Author:    Jacob Shin <jacobshin313 at gmail.com>
Date:      Sun Dec  9 10:31:41 2018 -0600

psxhdrs: Add POSIX API Signature Compliance Tests for sys/stat.h (GCI 2018)

---

 testsuites/psxtests/Makefile.am                  | 28 ++++++++++++----
 testsuites/psxtests/psxhdrs/sys/stat/chmod.c     | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/fchmod.c    | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/fchmodat.c  | 41 ++++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/fstat.c     | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/fstatat.c   | 41 ++++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/futimens.c  | 39 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/lstat.c     | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mkdir.c     | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mkdirat.c   | 39 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mkfifo.c    | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mkfifoat.c  | 39 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mknod.c     | 39 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/mknodat.c   | 40 +++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/stat.c      | 38 ++++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/umask.c     | 37 +++++++++++++++++++++
 testsuites/psxtests/psxhdrs/sys/stat/utimensat.c | 41 ++++++++++++++++++++++++
 17 files changed, 644 insertions(+), 6 deletions(-)

diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index 01fd04a..164cb9f 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 0000000..019a85e
--- /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 0000000..6bbd696
--- /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 0000000..17e90a1
--- /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 0000000..0b152ce
--- /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 0000000..94c4503
--- /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 0000000..3bbb62d
--- /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 0000000..37def2e
--- /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 0000000..291b758
--- /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 0000000..c841768
--- /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 0000000..ff429e3
--- /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 0000000..de0ba6f
--- /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 0000000..e3e3cae
--- /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 0000000..cac9644
--- /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 0000000..3759275
--- /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 0000000..5b03996
--- /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 0000000..8f3eae1
--- /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




More information about the vc mailing list