[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