--- 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 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel