summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Shin <jacobshin313@gmail.com>2018-12-04 18:00:09 -0500
committerJoel Sherrill <joel@rtems.org>2018-12-04 21:08:15 -0600
commit5bb1f3b2bffc9672fc3050b2e2d3663d18d6e752 (patch)
treef7b8efd78b84b66680fc84ab7914b9f6d830bded
parentpsxhdrs: Fix warnings (diff)
downloadrtems-5bb1f3b2bffc9672fc3050b2e2d3663d18d6e752.tar.bz2
psxhdrs: Implement POSIX API Signature Compliance Tests for monetary.h (GCI 2018)
-rw-r--r--testsuites/psxtests/Makefile.am5
-rwxr-xr-xtestsuites/psxtests/psxhdrs/monetary/strfmon.c38
-rwxr-xr-xtestsuites/psxtests/psxhdrs/monetary/strfmon_l.c40
3 files changed, 81 insertions, 2 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index c46bdd18e6..b25184cc05 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1149,9 +1149,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/sys/time/getitimer.c \
psxhdrs/sys/time/gettimeofday.c
-
-## Not supported yet
+## Not supported by RTEMS, but POSIX API Compliance tests exist.
## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c
+## lib_a_SOURCES += psxhdrs/monetary/strfmon.c
+## lib_a_SOURCES += psxhdrs/monetary/strfmon_l.c
endif
rtems_tests_PROGRAMS = $(psx_tests)
diff --git a/testsuites/psxtests/psxhdrs/monetary/strfmon.c b/testsuites/psxtests/psxhdrs/monetary/strfmon.c
new file mode 100755
index 0000000000..ac2818725e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/monetary/strfmon.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief strfmon() 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 <monetary.h>
+
+int test( void );
+
+int test( void )
+{
+ ssize_t return_value;
+ char s[5];
+ char *format = "1234";
+
+ return_value = strfmon(s, 5, format);
+ return (return_value != -1);
+} \ No newline at end of file
diff --git a/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c b/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c
new file mode 100755
index 0000000000..20de770d06
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * @brief strfmon_l() 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 <monetary.h>
+#include <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ ssize_t return_value;
+ char s[5];
+ char *format = "1234";
+ locale_t loc = newlocale(LC_ALL_MASK, "C", (locale_t) 0);
+
+ return_value = strfmon_l(s, 5, loc, format);
+ return (return_value != -1);
+} \ No newline at end of file