<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 25, 2017 at 9:05 AM, Gedare Bloom <span dir="ltr"><<a href="mailto:gedare@rtems.org" target="_blank">gedare@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Merge this with the previous commits to only provide 1 single commit<br>
adding this new test.<br>
<div><div class="h5"><br>
On Wed, Aug 23, 2017 at 3:35 PM, Aditya Upadhyay <<a href="mailto:aadit0402@gmail.com">aadit0402@gmail.com</a>> wrote:<br>
> ---<br>
>  testsuites/psxtests/Makefile.<wbr>am                    |  5 --<br>
>  testsuites/psxtests/<a href="http://configure.ac" rel="noreferrer" target="_blank">configure.<wbr>ac</a>                   |  5 --<br>
>  testsuites/psxtests/<wbr>psxinttypes01/init.c           | 66 +++++++++++++++++++---<br>
>  .../psxtests/psxinttypes01/<wbr>psxinttypes01.scn       |  8 +++<br>
>  4 files changed, 66 insertions(+), 18 deletions(-)<br>
><br>
> diff --git a/testsuites/psxtests/<wbr>Makefile.am b/testsuites/psxtests/<wbr>Makefile.am<br>
> index cda0061..5d3d41d 100644<br>
> --- a/testsuites/psxtests/<wbr>Makefile.am<br>
> +++ b/testsuites/psxtests/<wbr>Makefile.am<br>
> @@ -59,11 +59,6 @@ _SUBDIRS += psxintrcritical01<br>
>  _SUBDIRS += psxitimer<br>
>  endif<br>
>  _SUBDIRS += psxinttypes01<br>
> -_SUBDIRS += psxinttypes02<br>
> -_SUBDIRS += psxinttypes03<br>
> -_SUBDIRS += psxinttypes04<br>
> -_SUBDIRS += psxinttypes05<br>
> -_SUBDIRS += psxinttypes06<br>
>  _SUBDIRS += psxkey01<br>
>  _SUBDIRS += psxkey02<br>
>  _SUBDIRS += psxkey03<br>
> diff --git a/testsuites/psxtests/<a href="http://configure.ac" rel="noreferrer" target="_blank">configur<wbr>e.ac</a> b/testsuites/psxtests/<a href="http://configure.ac" rel="noreferrer" target="_blank">configur<wbr>e.ac</a><br>
> index dd5f23f..b2b00b7 100644<br>
> --- a/testsuites/psxtests/<a href="http://configure.ac" rel="noreferrer" target="_blank">configur<wbr>e.ac</a><br>
> +++ b/testsuites/psxtests/<a href="http://configure.ac" rel="noreferrer" target="_blank">configur<wbr>e.ac</a><br>
> @@ -163,11 +163,6 @@ psximfs01/Makefile<br>
>  psximfs02/Makefile<br>
>  psxintrcritical01/Makefile<br>
>  psxinttypes01/Makefile<br>
> -psxinttypes02/Makefile<br>
> -psxinttypes03/Makefile<br>
> -psxinttypes04/Makefile<br>
> -psxinttypes05/Makefile<br>
> -psxinttypes06/Makefile<br>
>  psxitimer/Makefile<br>
>  psxkey01/Makefile<br>
>  psxkey02/Makefile<br>
> diff --git a/testsuites/psxtests/<wbr>psxinttypes01/init.c b/testsuites/psxtests/<wbr>psxinttypes01/init.c<br>
> index ad41a6d..72f036a 100644<br>
> --- a/testsuites/psxtests/<wbr>psxinttypes01/init.c<br>
> +++ b/testsuites/psxtests/<wbr>psxinttypes01/init.c<br>
> @@ -1,5 +1,6 @@<br>
>  /*<br>
> - *  This is the test for inttypes imaxabs method.<br>
> + *  This is the test for inttypes library. It covers these functions :<br>
> + *  imaxabs(), imaxdiv(), strtoimax(), strtoumax(), wcstoimax(), wcstoumax().<br>
>   */<br>
><br>
>  #ifdef HAVE_CONFIG_H<br>
> @@ -11,8 +12,6 @@<br>
>  #include <rtems/test.h><br>
>  #include <stdlib.h><br>
>  #include <stdio.h><br>
> -#include <bsp.h><br>
> -#include <stdint.h><br>
>  #include <errno.h><br>
>  #include <tmacros.h><br>
><br>
> @@ -32,11 +31,63 @@ rtems_task Init(<br>
>  {<br>
>    rtems_print_printer_printf(&<wbr>rtems_test_printer);<br>
>    rtems_test_begin();<br>
> -<br>
> -  intmax_t a = -1234;<br>
><br>
> -  intmax_t b = imaxabs(a);<br>
> -  printf( "imaxabs_value = %jd\n", b);<br>
> +  char* endptr, *nptr;<br>
> +<br>
> +  uintmax_t j, k;<br>
> +<br>
> +  int base = 10;<br>
> +  rtems_test_assert (base == EINVAL);<br>
</div></div>I don't know why this is being asserted.<br>
<span class=""><br>
> +<br>
> +  wchar_t *nptr1, *endptr1;<br>
> +<br>
> +  intmax_t m, n;<br>
> +<br>
> +  nptr1 = L"10110134932";<br>
> +  nptr  = "20690239864abc";<br>
> +<br>
> +  /* Test for wcstoimax */<br>
> +<br>
> +  m = wcstoimax(nptr1, &endptr1, base);<br>
> +  rtems_test_assert (m == ERANGE);<br>
> +  rtems_test_assert (m == EINVAL);<br>
> +<br>
</span>I don't understand these two asserts, Perhaps you meant to check errno?<br>
<br>
Is it possible to check the correctness of the return value 'm' in an<br>
rtems_test_assert() to automate verification of the return?<br>
<br></blockquote><div><br></div><div>I don't see how both of those assert's would ever pass. m cannot </div><div>equal both those values. Is it "m == ERANGE || m == EINVAL"?</div><div>Don't we know the single error case it is trying to exercise?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
These same comments apply to the other tests below.<br>
<br>
You should also add some other boundary condition tests, e.g., NULL<br>
endptr, base != 10, and some invalid cases too.<br>
<div class="HOEnZb"><div class="h5"><br>
> +  printf( "wcstoimax = %jd\n", m );<br>
> +<br>
> +  /* test for strtoumax */<br>
> +<br>
> +  j = strtoumax (nptr, &endptr, base);<br>
> +  rtems_test_assert (j == ERANGE);<br>
> +  rtems_test_assert (j == EINVAL);<br>
> +<br>
> +  printf( "strtoumax = %ju ( base %d )\n", j, base );<br>
> +  printf( "Stopped scan at %s\n\n", endptr );<br>
> +<br>
> +  /*test for wcstoumax */<br>
> +<br>
> +  k = wcstoumax (nptr1, &endptr1, base);<br>
> +  rtems_test_assert (k == ERANGE);<br>
> +  rtems_test_assert (k == EINVAL);<br>
> +<br>
> +  printf( "wcstoumax = %ju\n", k );<br>
> +<br>
> +  /*Test for imaxdiv */<br>
> +<br>
> +  imaxdiv_t retrival = imaxdiv ( 27, 4 );<br>
> +  printf( "imax div value = %jd\n", retrival.rem );<br>
> +<br>
> +  /*Test for imaxabs  */<br>
> +<br>
> +  printf( "imaxabs_value = %jd\n", imaxabs (-1234));<br>
> +<br>
> +  /*Test for strtoimax */<br>
> +<br>
> +  n = strtoimax ("11111111", &endptr, 2);<br>
> +  rtems_test_assert (n == ERANGE);<br>
> +  rtems_test_assert (n == EINVAL);<br>
> +<br>
> +  printf( "strtoimax value = %jd\n", n);<br>
> +<br>
><br>
>    rtems_test_end();<br>
>    exit( 0 );<br>
> @@ -55,4 +106,3 @@ rtems_task Init(<br>
><br>
>  #define CONFIGURE_INIT<br>
>  #include <rtems/confdefs.h><br>
> -<br>
> diff --git a/testsuites/psxtests/<wbr>psxinttypes01/psxinttypes01.<wbr>scn b/testsuites/psxtests/<wbr>psxinttypes01/psxinttypes01.<wbr>scn<br>
> index 15051e1..47a5416 100644<br>
> --- a/testsuites/psxtests/<wbr>psxinttypes01/psxinttypes01.<wbr>scn<br>
> +++ b/testsuites/psxtests/<wbr>psxinttypes01/psxinttypes01.<wbr>scn<br>
> @@ -1,3 +1,11 @@<br>
>  *** BEGIN OF TEST PSXINTTYPE 01 ***<br>
> +wcstoimax = 10110134932<br>
> +strtoumax = 20690239864 ( base 10 )<br>
> +Stopped scan at abc<br>
> +<br>
> +wcstoumax = 10110134932<br>
> +imax div value = 3<br>
>  imaxabs_value = 1234<br>
> +strtoimax value = 255<br>
>  *** END OF TEST PSXINTTYPE 01 ***<br>
> +<br>
> --<br>
> 2.7.4<br>
><br>
______________________________<wbr>_________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div></div>