[PATCH] Testsuites for inttypes methods

Gedare Bloom gedare at rtems.org
Wed Aug 23 14:38:37 UTC 2017


Can you merge these into one single test? they seem simple enough to
combine to me.

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