summaryrefslogtreecommitdiffstats
path: root/testsuites/psxtests/psxhdrs
diff options
context:
space:
mode:
authorMarçal Comajoan Cara <mcomajoancara@gmail.com>2018-12-06 22:23:16 +0100
committerJoel Sherrill <joel@rtems.org>2018-12-06 22:12:01 -0600
commitbf763d3eeedd2ec251a5d86d75b038294ea4d326 (patch)
treee62c02352e19619df07968598614ffb39fd827dc /testsuites/psxtests/psxhdrs
parentpsxhdrs:Add POSIX Conformance Test for fmtmsg.h (GCI 2018) (diff)
downloadrtems-bf763d3eeedd2ec251a5d86d75b038294ea4d326.tar.bz2
Implement POSIX API Signature Compliance Tests for inttypes.h
This work was part of GCI 2018
Diffstat (limited to 'testsuites/psxtests/psxhdrs')
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/imaxabs.c38
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c39
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/strtoimax.c39
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/strtoumax.c39
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c40
-rw-r--r--testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c40
6 files changed, 235 insertions, 0 deletions
diff --git a/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c b/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c
new file mode 100644
index 0000000000..df5c244034
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c
@@ -0,0 +1,38 @@
+/**
+ * @file
+ * @brief imaxabs() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ intmax_t n = -42;
+ intmax_t result;
+
+ result = imaxabs( n );
+
+ return ( result == 42 );
+}
diff --git a/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c b/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c
new file mode 100644
index 0000000000..3538fef12b
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief imaxdiv() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ intmax_t n = 42;
+ intmax_t denom = 5;
+ imaxdiv_t result;
+
+ result = imaxdiv( n, denom );
+
+ return ( result.quot == 8 && result.rem == 2 );
+}
diff --git a/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c b/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c
new file mode 100644
index 0000000000..1544bdcb29
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief strtoimax() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ char *n = "-42";
+ intmax_t result;
+ char *endptr;
+
+ result = strtoimax( n, &endptr, 10 );
+
+ return ( result == -42 );
+}
diff --git a/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c b/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c
new file mode 100644
index 0000000000..a8cd3137c8
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c
@@ -0,0 +1,39 @@
+/**
+ * @file
+ * @brief strtoumax() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ char *n = "42";
+ uintmax_t result;
+ char *endptr;
+
+ result = strtoumax( n, &endptr, 10 );
+
+ return ( result == 42 );
+}
diff --git a/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c b/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c
new file mode 100644
index 0000000000..e7af7ba9a2
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * @brief wcstoimax() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <stddef.h>
+#include <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ wchar_t *n = L"-42";
+ intmax_t result;
+ wchar_t *endptr;
+
+ result = wcstoimax( n, &endptr, 10 );
+
+ return ( result == -42 );
+}
diff --git a/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c b/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c
new file mode 100644
index 0000000000..763cd9bfc5
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ * @brief wcstoumax() API Conformance Test
+ */
+
+/*
+ * COPYRIGHT (c) 2018.
+ * Marçal Comajoan Cara
+ *
+ * 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 <stddef.h>
+#include <inttypes.h>
+
+int test( void );
+
+int test( void )
+{
+ wchar_t *n = L"42";
+ uintmax_t result;
+ wchar_t *endptr;
+
+ result = wcstoumax( n, &endptr, 10 );
+
+ return ( result == 42 );
+}