diff options
author | Marçal Comajoan Cara <mcomajoancara@gmail.com> | 2018-12-06 22:23:16 +0100 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2018-12-06 22:12:01 -0600 |
commit | bf763d3eeedd2ec251a5d86d75b038294ea4d326 (patch) | |
tree | e62c02352e19619df07968598614ffb39fd827dc /testsuites/psxtests/psxhdrs | |
parent | psxhdrs:Add POSIX Conformance Test for fmtmsg.h (GCI 2018) (diff) | |
download | rtems-bf763d3eeedd2ec251a5d86d75b038294ea4d326.tar.bz2 |
Implement POSIX API Signature Compliance Tests for inttypes.h
This work was part of GCI 2018
Diffstat (limited to 'testsuites/psxtests/psxhdrs')
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/imaxabs.c | 38 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/imaxdiv.c | 39 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/strtoimax.c | 39 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/strtoumax.c | 39 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/wcstoimax.c | 40 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/inttypes/wcstoumax.c | 40 |
6 files changed, 235 insertions, 0 deletions
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 ); +} |