summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-12-08 11:35:49 -0600
committerJoel Sherrill <joel@rtems.org>2018-12-08 11:35:49 -0600
commit30f5272cdd2d7b44fc21375bcd2280546b32c5bc (patch)
tree8746fc4c921fa56272d036057906f54341b77d56
parentpsxhdrs: Added POSIX Compliance Test for wchar.h (GCI 2018) (diff)
downloadrtems-30f5272cdd2d7b44fc21375bcd2280546b32c5bc.tar.bz2
psxhdrs: added POSIX API Signature Compliance Tests for libgen.h (GCI 2018)
-rw-r--r--testsuites/psxtests/Makefile.am4
-rw-r--r--testsuites/psxtests/psxhdrs/libgen/basename.c38
-rw-r--r--testsuites/psxtests/psxhdrs/libgen/dirname.c38
3 files changed, 79 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index bfa938d4c7..946490969d 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1095,6 +1095,8 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/dirent/telldir.c \
psxhdrs/glob/glob.c \
psxhdrs/glob/globfree.c \
+ psxhdrs/libgen/basename.c \
+ psxhdrs/libgen/dirname.c \
psxhdrs/math/acos.c \
psxhdrs/math/acosf.c \
psxhdrs/math/acosh.c \
@@ -1716,7 +1718,7 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
## lib_a_SOURCES += psxhdrs/math/y1l.c See ticket #3638
## lib_a_SOURCES += psxhdrs/math/ynl.c See ticket #3638
## lib_a_SOURCES += psxhdrs/ftw/nftw.c See ticket #2970
-## lib_a_SOURCES += psxhdrs/stdio/getdelim.c See ticket #3633
+## lib_a_SOURCES += psxhdrs/stdio/getdelim.c See ticket #3633
## lib_a_SOURCES += psxhdrs/stdio/getline.c See ticket #3633
## lib_a_SOURCES += psxhdrs/ucontext/getcontext.c See ticket #3640
## lib_a_SOURCES += psxhdrs/ucontext/makecontext.c See ticket #3640
diff --git a/testsuites/psxtests/psxhdrs/libgen/basename.c b/testsuites/psxtests/psxhdrs/libgen/basename.c
new file mode 100644
index 0000000000..0b41596474
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/libgen/basename.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief basename() 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 <libgen.h>
+
+int test( void );
+
+int test( void )
+{
+ char *name = "/usr/lib";
+ char *result;
+
+ result = basename( name );
+
+ return ( result != (void *) 0 );
+}
diff --git a/testsuites/psxtests/psxhdrs/libgen/dirname.c b/testsuites/psxtests/psxhdrs/libgen/dirname.c
new file mode 100644
index 0000000000..a28a9c34f4
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/libgen/dirname.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief dirname() 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 <libgen.h>
+
+int test( void );
+
+int test( void )
+{
+ char *name = "/usr/lib";
+ char *result;
+
+ result = dirname( name );
+
+ return ( result != (void *) 0 );
+}