[PATCH] Testsuites for inttypes methods

Aditya Upadhyay aadit0402 at gmail.com
Wed Aug 23 14:41:05 UTC 2017


On Wed, Aug 23, 2017 at 8:08 PM, Gedare Bloom <gedare at rtems.org> wrote:
> Can you merge these into one single test? they seem simple enough to
> combine to me.
>
yes. I am doing the same. Thank you.

> On Tue, Aug 22, 2017 at 2:30 PM, Aditya Upadhyay <aadit0402 at gmail.com> wrote:
>> ---
>>  testsuites/psxtests/Makefile.am                    |  6 ++
>>  testsuites/psxtests/configure.ac                   |  6 ++
>>  testsuites/psxtests/psxinttypes01/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes01/init.c           | 58 ++++++++++++++
>>  .../psxtests/psxinttypes01/psxinttypes01.scn       |  3 +
>>  testsuites/psxtests/psxinttypes02/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes02/init.c           | 68 ++++++++++++++++
>>  .../psxtests/psxinttypes02/psxinttypes02.scn       |  4 +
>>  testsuites/psxtests/psxinttypes03/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes03/init.c           | 90 ++++++++++++++++++++++
>>  .../psxtests/psxinttypes03/psxinttypes03.scn       | 10 +++
>>  testsuites/psxtests/psxinttypes04/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes04/init.c           | 73 ++++++++++++++++++
>>  .../psxtests/psxinttypes04/psxinttypes04.scn       |  4 +
>>  testsuites/psxtests/psxinttypes05/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes05/init.c           | 70 +++++++++++++++++
>>  .../psxtests/psxinttypes05/psxinttypes05.scn       |  3 +
>>  testsuites/psxtests/psxinttypes06/Makefile.am      | 22 ++++++
>>  testsuites/psxtests/psxinttypes06/init.c           | 70 +++++++++++++++++
>>  .../psxtests/psxinttypes06/psxinttypes06.scn       |  3 +
>>  20 files changed, 600 insertions(+)
>>  create mode 100644 testsuites/psxtests/psxinttypes01/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes01/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes01/psxinttypes01.scn
>>  create mode 100644 testsuites/psxtests/psxinttypes02/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes02/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes02/psxinttypes02.scn
>>  create mode 100644 testsuites/psxtests/psxinttypes03/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes03/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes03/psxinttypes03.scn
>>  create mode 100644 testsuites/psxtests/psxinttypes04/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes04/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes04/psxinttypes04.scn
>>  create mode 100644 testsuites/psxtests/psxinttypes05/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes05/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes05/psxinttypes05.scn
>>  create mode 100644 testsuites/psxtests/psxinttypes06/Makefile.am
>>  create mode 100644 testsuites/psxtests/psxinttypes06/init.c
>>  create mode 100644 testsuites/psxtests/psxinttypes06/psxinttypes06.scn
>>
>> diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
>> index cccdb39..cda0061 100644
>> --- a/testsuites/psxtests/Makefile.am
>> +++ b/testsuites/psxtests/Makefile.am
>> @@ -58,6 +58,12 @@ _SUBDIRS += psxhdrs
>>  _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 96a0149..dd5f23f 100644
>> --- a/testsuites/psxtests/configure.ac
>> +++ b/testsuites/psxtests/configure.ac
>> @@ -162,6 +162,12 @@ psxid01/Makefile
>>  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/Makefile.am b/testsuites/psxtests/psxinttypes01/Makefile.am
>> new file mode 100644
>> index 0000000..90608d4
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes01/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes01
>> +psxinttypes01_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes01.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes01_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes01_OBJECTS)
>> +LINK_LIBS = $(psxinttypes01_LDLIBS)
>> +
>> +psxinttypes01$(EXEEXT): $(psxinttypes01_OBJECTS) $(psxinttypes01_DEPENDENCIES)
>> +       @rm -f psxinttypes01$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes01/init.c b/testsuites/psxtests/psxinttypes01/init.c
>> new file mode 100644
>> index 0000000..ad41a6d
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes01/init.c
>> @@ -0,0 +1,58 @@
>> +/*
>> + *  This is the test for inttypes imaxabs method.
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 01";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  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);
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes01/psxinttypes01.scn b/testsuites/psxtests/psxinttypes01/psxinttypes01.scn
>> new file mode 100644
>> index 0000000..15051e1
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes01/psxinttypes01.scn
>> @@ -0,0 +1,3 @@
>> +*** BEGIN OF TEST PSXINTTYPE 01 ***
>> +imaxabs_value = 1234
>> +*** END OF TEST PSXINTTYPE 01 ***
>> diff --git a/testsuites/psxtests/psxinttypes02/Makefile.am b/testsuites/psxtests/psxinttypes02/Makefile.am
>> new file mode 100644
>> index 0000000..2e4ce3b
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes02/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes02
>> +psxinttypes02_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes02.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes02_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes02_OBJECTS)
>> +LINK_LIBS = $(psxinttypes02_LDLIBS)
>> +
>> +psxinttypes02$(EXEEXT): $(psxinttypes02_OBJECTS) $(psxinttypes02_DEPENDENCIES)
>> +       @rm -f psxinttypes02$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes02/init.c b/testsuites/psxtests/psxinttypes02/init.c
>> new file mode 100644
>> index 0000000..762a711
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes02/init.c
>> @@ -0,0 +1,68 @@
>> +/*
>> + *  This is the test for inttypes imaxdiv method.
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 02";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  rtems_print_printer_printf(&rtems_test_printer);
>> +  rtems_test_begin();
>> +
>> +  /*Test for imaxdiv */
>> +
>> +  intmax_t x,y;
>> +
>> +  imaxdiv_t div_result;
>> +
>> +  x = 27;
>> +  y = 4;
>> +
>> +  printf("The call to imaxdiv(%lld, %lld)\n", x, y);
>> +  div_result = imaxdiv(x, y);
>> +  printf("results in a quotient of %lld, and a remainder of %lld\n\n",
>> +         div_result.quot, div_result.rem);
>> +
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes02/psxinttypes02.scn b/testsuites/psxtests/psxinttypes02/psxinttypes02.scn
>> new file mode 100644
>> index 0000000..d691475
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes02/psxinttypes02.scn
>> @@ -0,0 +1,4 @@
>> +*** BEGIN OF TEST PSXINTTYPE 02 ***
>> +The call to imaxdiv(27, 4)
>> +results in a quotient of 6 and a remainder of 4
>> +*** END OF TEST PSXINTTYPE 02 ***
>> diff --git a/testsuites/psxtests/psxinttypes03/Makefile.am b/testsuites/psxtests/psxinttypes03/Makefile.am
>> new file mode 100644
>> index 0000000..137f229
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes03/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes03
>> +psxinttypes03_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes03.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes03_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes03_OBJECTS)
>> +LINK_LIBS = $(psxinttypes03_LDLIBS)
>> +
>> +psxinttypes03$(EXEEXT): $(psxinttypes03_OBJECTS) $(psxinttypes03_DEPENDENCIES)
>> +       @rm -f psxinttypes03$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes03/init.c b/testsuites/psxtests/psxinttypes03/init.c
>> new file mode 100644
>> index 0000000..58dfb7b
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes03/init.c
>> @@ -0,0 +1,90 @@
>> +/*
>> + *  This is the test for inttypes library. It covers these functions :
>> + *  imaxabs(), imaxdiv(), strtoimax(), strtoumax(), wcstoimax(), wcstoumax().
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 01";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  rtems_print_printer_printf(&rtems_test_printer);
>> +  rtems_test_begin();
>> +
>> +  /*Test for strtoimax */
>> +
>> +  char* endptr;
>> +
>> +  n = strtoimax ("-123junk", &endptr, 10);   /* base 10                    */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("BASE 10 : %jd\n", n);
>> +  n = strtoimax ("11111111", &endptr, 2);   /* base 2                    */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("BASE 2 : %jd\n", n);
>> +  n = strtoimax ("XyZ", &endptr, 36);       /* base 36                    */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("BASE 36 : %jd\n", n);
>> +  n = strtoimax ("010", &endptr, 0);        /* octal auto-detection  */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("OCTAL AUTO-DETECTION : %jd\n", n);
>> +  n = strtoimax ("10", &endptr, 0);         /* decimal auto-detection */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("DECIMAL AUTO-DETECTION : %jd\n", n);
>> +  n = strtoimax ("0x10", &endptr, 0);      /* hexadecimal auto-detection */
>> +  rtems_test_assert (n == ERANGE);
>> +  rtems_test_assert (n == EINVAL);
>> +  printf("HEXADECIMAL AUTO-DETECTION : %jd\n", n);
>> +
>> +  /* range error             */
>> +  /* LONG_MAX+1 --> LONG_MAX */
>> +  errno = 0;
>> +  printf("%jd\n", strtoimax("9223372036854775808",&endptr,10));
>> +  printf("%s\n", strerror(errno));
>> +
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes03/psxinttypes03.scn b/testsuites/psxtests/psxinttypes03/psxinttypes03.scn
>> new file mode 100644
>> index 0000000..05d909c
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes03/psxinttypes03.scn
>> @@ -0,0 +1,10 @@
>> +*** BEGIN OF TEST PSXINTTYPE 03 ***
>> +BASE 10 : -123
>> +BASE 2 : 255
>> +BASE 36 : 44027
>> +OCTAL AUTO-DETECTION : 8
>> +DECIMAL AUTO-DETECTION : 10
>> +HEXADECIMAL AUTO-DETECTION : 16
>> +9223372036854775807
>> +Result too large
>> +*** END OF TEST PSXINTTYPE 03 ***
>> diff --git a/testsuites/psxtests/psxinttypes04/Makefile.am b/testsuites/psxtests/psxinttypes04/Makefile.am
>> new file mode 100644
>> index 0000000..cc59a35
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes04/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes04
>> +psxinttypes04_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes04.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes04_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes04_OBJECTS)
>> +LINK_LIBS = $(psxinttypes04_LDLIBS)
>> +
>> +psxinttypes04$(EXEEXT): $(psxinttypes04_OBJECTS) $(psxinttypes04_DEPENDENCIES)
>> +       @rm -f psxinttypes04$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes04/init.c b/testsuites/psxtests/psxinttypes04/init.c
>> new file mode 100644
>> index 0000000..969fd49
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes04/init.c
>> @@ -0,0 +1,73 @@
>> +/*
>> + *  This is the test for inttypes library. It covers these functions :
>> + *  imaxabs(), imaxdiv(), strtoimax(), strtoumax(), wcstoimax(), wcstoumax().
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 04";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  rtems_print_printer_printf(&rtems_test_printer);
>> +  rtems_test_begin();
>> +
>> +  char* endptr, *nptr;
>> +
>> +  uintmax_t j;
>> +
>> +  int base = 10;
>> +  rtems_test_assert (base == EINVAL);
>> +
>> +  nptr  = "20690239864abc";
>> +
>> +  /* 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 );
>> +
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes04/psxinttypes04.scn b/testsuites/psxtests/psxinttypes04/psxinttypes04.scn
>> new file mode 100644
>> index 0000000..c86bc44
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes04/psxinttypes04.scn
>> @@ -0,0 +1,4 @@
>> +*** BEGIN OF TEST PSXINTTYPE 04 ***
>> +strtoumax = 20690239864 (base 10)
>> +Stopped scan at abc
>> +*** END OF TEST PSXINTTYPE 04 ***
>> diff --git a/testsuites/psxtests/psxinttypes05/Makefile.am b/testsuites/psxtests/psxinttypes05/Makefile.am
>> new file mode 100644
>> index 0000000..1a9e1e6
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes05/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes05
>> +psxinttypes05_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes05.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes05_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes05_OBJECTS)
>> +LINK_LIBS = $(psxinttypes05_LDLIBS)
>> +
>> +psxinttypes05$(EXEEXT): $(psxinttypes05_OBJECTS) $(psxinttypes05_DEPENDENCIES)
>> +       @rm -f psxinttypes05$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes05/init.c b/testsuites/psxtests/psxinttypes05/init.c
>> new file mode 100644
>> index 0000000..bac42cc
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes05/init.c
>> @@ -0,0 +1,70 @@
>> +/*
>> + *  This is the test for inttypes wcstoimax method.
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 05";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  rtems_print_printer_printf(&rtems_test_printer);
>> +  rtems_test_begin();
>> +
>> +  int base = 10;
>> +  rtems_test_assert (base == EINVAL);
>> +
>> +  wchar_t *nptr1, *endptr1;
>> +
>> +  intmax_t m;
>> +
>> +  nptr1 = L"10110134932";
>> +
>> +  /* Test for wcstoimax */
>> +
>> +  m = wcstoimax(nptr1, &endptr1, base);
>> +  rtems_test_assert (m == ERANGE);
>> +  rtems_test_assert (m == EINVAL);
>> +
>> +  printf( "wcstoimax = %jd\n", m );
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes05/psxinttypes05.scn b/testsuites/psxtests/psxinttypes05/psxinttypes05.scn
>> new file mode 100644
>> index 0000000..67e3eb8
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes05/psxinttypes05.scn
>> @@ -0,0 +1,3 @@
>> +*** BEGIN OF TEST PSXINTTYPE 05 ***
>> +wcstoumax = 10110134932
>> +*** END OF TEST PSXINTTYPE 05 ***
>> diff --git a/testsuites/psxtests/psxinttypes06/Makefile.am b/testsuites/psxtests/psxinttypes06/Makefile.am
>> new file mode 100644
>> index 0000000..a284e5a
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes06/Makefile.am
>> @@ -0,0 +1,22 @@
>> +
>> +rtems_tests_PROGRAMS = psxinttypes06
>> +psxinttypes06_SOURCES = init.c
>> +
>> +dist_rtems_tests_DATA = psxinttypes06.scn
>> +
>> +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP at .cfg
>> +include $(top_srcdir)/../automake/compile.am
>> +include $(top_srcdir)/../automake/leaf.am
>> +
>> +
>> +#AM_CPPFLAGS = -I$(top_srcdir)/include
>> +#AM_CPPFLAGS = -I$(top_srcdir)/../support/include$(psxinttypes06_LDADD)
>> +
>> +LINK_OBJS = $(psxinttypes06_OBJECTS)
>> +LINK_LIBS = $(psxinttypes06_LDLIBS)
>> +
>> +psxinttypes06$(EXEEXT): $(psxinttypes06_OBJECTS) $(psxinttypes06_DEPENDENCIES)
>> +       @rm -f psxinttypes06$(EXEEXT)
>> +       $(make-exe)
>> +
>> +include $(top_srcdir)/../automake/local.am
>> diff --git a/testsuites/psxtests/psxinttypes06/init.c b/testsuites/psxtests/psxinttypes06/init.c
>> new file mode 100644
>> index 0000000..15c75cf
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes06/init.c
>> @@ -0,0 +1,70 @@
>> +/*
>> + *  This is the test for inttypes wcstoumax method.
>> + */
>> +
>> +#ifdef HAVE_CONFIG_H
>> +#include "config.h"
>> +#endif
>> +
>> +#include <rtems/inttypes.h>
>> +#include <rtems/printer.h>
>> +#include <rtems/test.h>
>> +#include <stdlib.h>
>> +#include <stdio.h>
>> +#include <bsp.h>
>> +#include <stdint.h>
>> +#include <errno.h>
>> +#include <tmacros.h>
>> +
>> +/* forward declarations to avoid warnings */
>> +
>> +rtems_task Init(rtems_task_argument argument);
>> +const char rtems_test_name[] = "PSXINTTYPE 06";
>> +rtems_printer rtems_test_printer;
>> +
>> +/*
>> + * RTEMS Startup Task
>> + */
>> +
>> +rtems_task Init(
>> +  rtems_task_argument ignored
>> +)
>> +{
>> +  rtems_print_printer_printf(&rtems_test_printer);
>> +  rtems_test_begin();
>> +
>> +  uintmax_t k;
>> +
>> +  int base = 10;
>> +  rtems_test_assert (base == EINVAL);
>> +
>> +  wchar_t *nptr1, *endptr1;
>> +
>> +  nptr1 = L"10110134932";
>> +
>> +  /*test for wcstoumax */
>> +
>> +  k = wcstoumax (nptr1, &endptr1, base);
>> +  rtems_test_assert (k == ERANGE);
>> +  rtems_test_assert (k == EINVAL);
>> +
>> +  printf( "wcstoumax value : %ju\n", k );
>> +
>> +  rtems_test_end();
>> +  exit( 0 );
>> +}
>> +
>> +/* NOTICE: the clock driver is explicitly disabled */
>> +
>> +#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
>> +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
>> +
>> +#define CONFIGURE_MAXIMUM_TASKS            1
>> +
>> +#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
>> +
>> +#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
>> +
>> +#define CONFIGURE_INIT
>> +#include <rtems/confdefs.h>
>> +
>> diff --git a/testsuites/psxtests/psxinttypes06/psxinttypes06.scn b/testsuites/psxtests/psxinttypes06/psxinttypes06.scn
>> new file mode 100644
>> index 0000000..d14b9a8
>> --- /dev/null
>> +++ b/testsuites/psxtests/psxinttypes06/psxinttypes06.scn
>> @@ -0,0 +1,3 @@
>> +*** BEGIN OF TEST PSXINTTYPE 06 ***
>> +wcstoumax = 10110134932
>> +*** END OF TEST PSXINTTYPE 06 ***
>> --
>> 2.7.4
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel



More information about the devel mailing list