Just pushed this. Thanks. On Thu, Dec 6, 2018 at 3:27 PM Marçal Comajoan Cara <mcomajoanc...@gmail.com> wrote:
> This work was part of GCI 2018 > --- > testsuites/psxtests/Makefile.am | 9 ++++- > .../psxtests/psxhdrs/inttypes/imaxabs.c | 38 ++++++++++++++++++ > .../psxtests/psxhdrs/inttypes/imaxdiv.c | 39 ++++++++++++++++++ > .../psxtests/psxhdrs/inttypes/strtoimax.c | 39 ++++++++++++++++++ > .../psxtests/psxhdrs/inttypes/strtoumax.c | 39 ++++++++++++++++++ > .../psxtests/psxhdrs/inttypes/wcstoimax.c | 40 +++++++++++++++++++ > .../psxtests/psxhdrs/inttypes/wcstoumax.c | 40 +++++++++++++++++++ > 7 files changed, 243 insertions(+), 1 deletion(-) > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/imaxabs.c > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/strtoimax.c > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/strtoumax.c > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c > create mode 100644 testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c > > diff --git a/testsuites/psxtests/Makefile.am > b/testsuites/psxtests/Makefile.am > index 4feaa8d68a..f5359d8b19 100644 > --- a/testsuites/psxtests/Makefile.am > +++ b/testsuites/psxtests/Makefile.am > @@ -1573,7 +1573,14 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ > psxhdrs/wctype/wctrans.c \ > psxhdrs/wctype/wctrans_l.c \ > psxhdrs/wctype/wctype.c \ > - psxhdrs/wctype/wctype_l.c > + psxhdrs/wctype/wctype_l.c \ > + psxhdrs/inttypes/imaxabs.c \ > + psxhdrs/inttypes/imaxdiv.c \ > + psxhdrs/inttypes/strtoimax.c \ > + psxhdrs/inttypes/strtoumax.c \ > + psxhdrs/inttypes/wcstoimax.c \ > + psxhdrs/inttypes/wcstoumax.c > + > > ## Not supported by RTEMS, but POSIX API Compliance tests exist. > ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c > diff --git a/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c > b/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c > new file mode 100644 > index 0000000000..df5c244034 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/imaxabs.c > @@ -0,0 +1,38 @@ > +/** > + * @file > + * @brief imaxabs() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + intmax_t n = -42; > + intmax_t result; > + > + result = imaxabs( n ); > + > + return ( result == 42 ); > +} > diff --git a/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c > b/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c > new file mode 100644 > index 0000000000..3538fef12b > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c > @@ -0,0 +1,39 @@ > +/** > + * @file > + * @brief imaxdiv() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + intmax_t n = 42; > + intmax_t denom = 5; > + imaxdiv_t result; > + > + result = imaxdiv( n, denom ); > + > + return ( result.quot == 8 && result.rem == 2 ); > +} > diff --git a/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c > b/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c > new file mode 100644 > index 0000000000..1544bdcb29 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/strtoimax.c > @@ -0,0 +1,39 @@ > +/** > + * @file > + * @brief strtoimax() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + char *n = "-42"; > + intmax_t result; > + char *endptr; > + > + result = strtoimax( n, &endptr, 10 ); > + > + return ( result == -42 ); > +} > diff --git a/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c > b/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c > new file mode 100644 > index 0000000000..a8cd3137c8 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/strtoumax.c > @@ -0,0 +1,39 @@ > +/** > + * @file > + * @brief strtoumax() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + char *n = "42"; > + uintmax_t result; > + char *endptr; > + > + result = strtoumax( n, &endptr, 10 ); > + > + return ( result == 42 ); > +} > diff --git a/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c > b/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c > new file mode 100644 > index 0000000000..e7af7ba9a2 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c > @@ -0,0 +1,40 @@ > +/** > + * @file > + * @brief wcstoimax() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <stddef.h> > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + wchar_t *n = L"-42"; > + intmax_t result; > + wchar_t *endptr; > + > + result = wcstoimax( n, &endptr, 10 ); > + > + return ( result == -42 ); > +} > diff --git a/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c > b/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c > new file mode 100644 > index 0000000000..763cd9bfc5 > --- /dev/null > +++ b/testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c > @@ -0,0 +1,40 @@ > +/** > + * @file > + * @brief wcstoumax() API Conformance Test > + */ > + > +/* > + * COPYRIGHT (c) 2018. > + * Marçal Comajoan Cara > + * > + * Permission to use, copy, modify, and/or distribute this software > + * for any purpose with or without fee is hereby granted. > + * > + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL > + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED > + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE > AUTHOR > + * BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES > + * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, > + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, > + * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS > SOFTWARE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <stddef.h> > +#include <inttypes.h> > + > +int test( void ); > + > +int test( void ) > +{ > + wchar_t *n = L"42"; > + uintmax_t result; > + wchar_t *endptr; > + > + result = wcstoumax( n, &endptr, 10 ); > + > + return ( result == 42 ); > +} > -- > 2.19.2 > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel