summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-12-02 16:31:18 +0530
committerJoel Sherrill <joel@rtems.org>2018-12-02 08:48:12 -0600
commit0888bfd5dd50e45c3e89c3944f2bdb703ee889df (patch)
tree32ea448a740137fc882c09a0bab765a6b584dbd1 /testsuites
parentpsxhdrs: add POSIX API Signature Compliance Tests for dlfcn.h File (GCI 2018) (diff)
downloadrtems-0888bfd5dd50e45c3e89c3944f2bdb703ee889df.tar.bz2
psxhdrs: add POSIX API Signature Compliance Tests for locale.h (GCI 2018)
Diffstat (limited to '')
-rw-r--r--testsuites/psxtests/Makefile.am8
-rw-r--r--testsuites/psxtests/psxhdrs/locale/duplocale.c41
-rw-r--r--testsuites/psxtests/psxhdrs/locale/freelocale.c40
-rw-r--r--testsuites/psxtests/psxhdrs/locale/localeconv.c39
-rw-r--r--testsuites/psxtests/psxhdrs/locale/newlocale.c39
-rw-r--r--testsuites/psxtests/psxhdrs/locale/setlocale.c39
-rw-r--r--testsuites/psxtests/psxhdrs/locale/uselocale.c41
7 files changed, 246 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index 692182854e..3d076b0a27 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1126,7 +1126,13 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \
psxhdrs/dlfcn/dlopen.c \
psxhdrs/dlfcn/dlclose.c \
psxhdrs/dlfcn/dlerror.c \
- psxhdrs/dlfcn/dlsym.c
+ psxhdrs/dlfcn/dlsym.c \
+ psxhdrs/locale/newlocale.c \
+ psxhdrs/locale/freelocale.c \
+ psxhdrs/locale/uselocale.c \
+ psxhdrs/locale/setlocale.c \
+ psxhdrs/locale/duplocale.c \
+ psxhdrs/locale/localeconv.c
endif
rtems_tests_PROGRAMS = $(psx_tests)
diff --git a/testsuites/psxtests/psxhdrs/locale/duplocale.c b/testsuites/psxtests/psxhdrs/locale/duplocale.c
new file mode 100644
index 0000000000..74cb413e42
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/duplocale.c
@@ -0,0 +1,41 @@
+/**
+ * @file
+ * @brief duplocale() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ locale_t newloc;
+ locale_t locobj;
+ int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
+ char *locale = "loc1";
+
+ newloc = newlocale( category_mask, locale, (locale_t)0 );
+ locobj = duplocale( newloc );
+
+ return (locobj != NULL);
+}
diff --git a/testsuites/psxtests/psxhdrs/locale/freelocale.c b/testsuites/psxtests/psxhdrs/locale/freelocale.c
new file mode 100644
index 0000000000..077ce8c76e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/freelocale.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * @brief freelocale() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ locale_t newloc;
+ int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
+ char *locale = "loc1";
+
+ newloc = newlocale( category_mask, locale, (locale_t)0 );
+ freelocale( newloc );
+
+ return (newloc != NULL);
+}
diff --git a/testsuites/psxtests/psxhdrs/locale/localeconv.c b/testsuites/psxtests/psxhdrs/locale/localeconv.c
new file mode 100644
index 0000000000..2dbf0f9b6e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/localeconv.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief localeconv() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ struct lconv *lc;
+ int category = LC_MONETARY;
+
+ setlocale( category, "" );
+ lc = localeconv();
+
+ return (lc != NULL);
+}
diff --git a/testsuites/psxtests/psxhdrs/locale/newlocale.c b/testsuites/psxtests/psxhdrs/locale/newlocale.c
new file mode 100644
index 0000000000..16d3964438
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/newlocale.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief newlocale() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ locale_t newloc;
+ int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
+ char *locale = "loc1";
+
+ newloc = newlocale( category_mask, locale, (locale_t)0 );
+
+ return (newloc != NULL);
+}
diff --git a/testsuites/psxtests/psxhdrs/locale/setlocale.c b/testsuites/psxtests/psxhdrs/locale/setlocale.c
new file mode 100644
index 0000000000..476788ac8d
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/setlocale.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief setlocale() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ int category = LC_ALL;
+ char *locale = "loc1";
+ char *ostring;
+
+ ostring = setlocale( category, locale );
+
+ return (ostring != NULL);
+}
diff --git a/testsuites/psxtests/psxhdrs/locale/uselocale.c b/testsuites/psxtests/psxhdrs/locale/uselocale.c
new file mode 100644
index 0000000000..3b36ecf627
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/locale/uselocale.c
@@ -0,0 +1,41 @@
+/**
+ * @file
+ * @brief uselocale() 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 <locale.h>
+
+int test( void );
+
+int test( void )
+{
+ locale_t newloc;
+ locale_t currentloc;
+ int category_mask = LC_CTYPE_MASK | LC_TIME_MASK;
+ char *locale = "loc1";
+
+ newloc = newlocale( category_mask, locale, (locale_t)0 );
+ currentloc = uselocale( newloc );
+
+ return (currentloc != NULL);
+}