From 5bb1f3b2bffc9672fc3050b2e2d3663d18d6e752 Mon Sep 17 00:00:00 2001 From: Jacob Shin Date: Tue, 4 Dec 2018 18:00:09 -0500 Subject: psxhdrs: Implement POSIX API Signature Compliance Tests for monetary.h (GCI 2018) --- testsuites/psxtests/Makefile.am | 5 +-- testsuites/psxtests/psxhdrs/monetary/strfmon.c | 38 ++++++++++++++++++++++ testsuites/psxtests/psxhdrs/monetary/strfmon_l.c | 40 ++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100755 testsuites/psxtests/psxhdrs/monetary/strfmon.c create mode 100755 testsuites/psxtests/psxhdrs/monetary/strfmon_l.c diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index c46bdd18e6..b25184cc05 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -1149,9 +1149,10 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ psxhdrs/sys/time/getitimer.c \ psxhdrs/sys/time/gettimeofday.c - -## Not supported yet +## Not supported by RTEMS, but POSIX API Compliance tests exist. ## lib_a_SOURCES += psxhdrs/ulimit/ulimit.c +## lib_a_SOURCES += psxhdrs/monetary/strfmon.c +## lib_a_SOURCES += psxhdrs/monetary/strfmon_l.c endif rtems_tests_PROGRAMS = $(psx_tests) diff --git a/testsuites/psxtests/psxhdrs/monetary/strfmon.c b/testsuites/psxtests/psxhdrs/monetary/strfmon.c new file mode 100755 index 0000000000..ac2818725e --- /dev/null +++ b/testsuites/psxtests/psxhdrs/monetary/strfmon.c @@ -0,0 +1,38 @@ +/** + * @file + * @brief strfmon() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 + +int test( void ); + +int test( void ) +{ + ssize_t return_value; + char s[5]; + char *format = "1234"; + + return_value = strfmon(s, 5, format); + return (return_value != -1); +} \ No newline at end of file diff --git a/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c b/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c new file mode 100755 index 0000000000..20de770d06 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/monetary/strfmon_l.c @@ -0,0 +1,40 @@ +/** + * @file + * @brief strfmon_l() API Conformance Test + */ + + /* + * COPYRIGHT (c) 2018. + * Jacob Shin + * + * 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 +#include + +int test( void ); + +int test( void ) +{ + ssize_t return_value; + char s[5]; + char *format = "1234"; + locale_t loc = newlocale(LC_ALL_MASK, "C", (locale_t) 0); + + return_value = strfmon_l(s, 5, loc, format); + return (return_value != -1); +} \ No newline at end of file -- cgit v1.2.3