[PATCH v2] Testsuite for inttypes methods
Aditya Upadhyay
aadit0402 at gmail.com
Wed Aug 23 19:35:04 UTC 2017
---
testsuites/psxtests/Makefile.am | 5 --
testsuites/psxtests/configure.ac | 5 --
testsuites/psxtests/psxinttypes01/init.c | 66 +++++++++++++++++++---
.../psxtests/psxinttypes01/psxinttypes01.scn | 8 +++
4 files changed, 66 insertions(+), 18 deletions(-)
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index cda0061..5d3d41d 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -59,11 +59,6 @@ _SUBDIRS += psxintrcritical01
_SUBDIRS += psxitimer
endif
_SUBDIRS += psxinttypes01
-_SUBDIRS += psxinttypes02
-_SUBDIRS += psxinttypes03
-_SUBDIRS += psxinttypes04
-_SUBDIRS += psxinttypes05
-_SUBDIRS += psxinttypes06
_SUBDIRS += psxkey01
_SUBDIRS += psxkey02
_SUBDIRS += psxkey03
diff --git a/testsuites/psxtests/configure.ac b/testsuites/psxtests/configure.ac
index dd5f23f..b2b00b7 100644
--- a/testsuites/psxtests/configure.ac
+++ b/testsuites/psxtests/configure.ac
@@ -163,11 +163,6 @@ psximfs01/Makefile
psximfs02/Makefile
psxintrcritical01/Makefile
psxinttypes01/Makefile
-psxinttypes02/Makefile
-psxinttypes03/Makefile
-psxinttypes04/Makefile
-psxinttypes05/Makefile
-psxinttypes06/Makefile
psxitimer/Makefile
psxkey01/Makefile
psxkey02/Makefile
diff --git a/testsuites/psxtests/psxinttypes01/init.c b/testsuites/psxtests/psxinttypes01/init.c
index ad41a6d..72f036a 100644
--- a/testsuites/psxtests/psxinttypes01/init.c
+++ b/testsuites/psxtests/psxinttypes01/init.c
@@ -1,5 +1,6 @@
/*
- * This is the test for inttypes imaxabs method.
+ * This is the test for inttypes library. It covers these functions :
+ * imaxabs(), imaxdiv(), strtoimax(), strtoumax(), wcstoimax(), wcstoumax().
*/
#ifdef HAVE_CONFIG_H
@@ -11,8 +12,6 @@
#include <rtems/test.h>
#include <stdlib.h>
#include <stdio.h>
-#include <bsp.h>
-#include <stdint.h>
#include <errno.h>
#include <tmacros.h>
@@ -32,11 +31,63 @@ rtems_task Init(
{
rtems_print_printer_printf(&rtems_test_printer);
rtems_test_begin();
-
- intmax_t a = -1234;
- intmax_t b = imaxabs(a);
- printf( "imaxabs_value = %jd\n", b);
+ char* endptr, *nptr;
+
+ uintmax_t j, k;
+
+ int base = 10;
+ rtems_test_assert (base == EINVAL);
+
+ wchar_t *nptr1, *endptr1;
+
+ intmax_t m, n;
+
+ nptr1 = L"10110134932";
+ nptr = "20690239864abc";
+
+ /* Test for wcstoimax */
+
+ m = wcstoimax(nptr1, &endptr1, base);
+ rtems_test_assert (m == ERANGE);
+ rtems_test_assert (m == EINVAL);
+
+ printf( "wcstoimax = %jd\n", m );
+
+ /* test for strtoumax */
+
+ j = strtoumax (nptr, &endptr, base);
+ rtems_test_assert (j == ERANGE);
+ rtems_test_assert (j == EINVAL);
+
+ printf( "strtoumax = %ju ( base %d )\n", j, base );
+ printf( "Stopped scan at %s\n\n", endptr );
+
+ /*test for wcstoumax */
+
+ k = wcstoumax (nptr1, &endptr1, base);
+ rtems_test_assert (k == ERANGE);
+ rtems_test_assert (k == EINVAL);
+
+ printf( "wcstoumax = %ju\n", k );
+
+ /*Test for imaxdiv */
+
+ imaxdiv_t retrival = imaxdiv ( 27, 4 );
+ printf( "imax div value = %jd\n", retrival.rem );
+
+ /*Test for imaxabs */
+
+ printf( "imaxabs_value = %jd\n", imaxabs (-1234));
+
+ /*Test for strtoimax */
+
+ n = strtoimax ("11111111", &endptr, 2);
+ rtems_test_assert (n == ERANGE);
+ rtems_test_assert (n == EINVAL);
+
+ printf( "strtoimax value = %jd\n", n);
+
rtems_test_end();
exit( 0 );
@@ -55,4 +106,3 @@ rtems_task Init(
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
-
diff --git a/testsuites/psxtests/psxinttypes01/psxinttypes01.scn b/testsuites/psxtests/psxinttypes01/psxinttypes01.scn
index 15051e1..47a5416 100644
--- a/testsuites/psxtests/psxinttypes01/psxinttypes01.scn
+++ b/testsuites/psxtests/psxinttypes01/psxinttypes01.scn
@@ -1,3 +1,11 @@
*** BEGIN OF TEST PSXINTTYPE 01 ***
+wcstoimax = 10110134932
+strtoumax = 20690239864 ( base 10 )
+Stopped scan at abc
+
+wcstoumax = 10110134932
+imax div value = 3
imaxabs_value = 1234
+strtoimax value = 255
*** END OF TEST PSXINTTYPE 01 ***
+
--
2.7.4
More information about the devel
mailing list