diff options
author | Himanshu40 <himanshuwindows8.1@gmail.com> | 2018-12-03 22:34:04 +0530 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2018-12-03 11:25:01 -0600 |
commit | b055da27904c8d3bcda5895d86465cd474020f00 (patch) | |
tree | 4ec8073db4e3c04b596121c73d60ca0c69fe43ba /testsuites/psxtests | |
parent | testsupport: Include missing <rtems/bspIo.h> (diff) | |
download | rtems-b055da27904c8d3bcda5895d86465cd474020f00.tar.bz2 |
psxhdrs: add POSIX API Signature Compliance Tests for regex.h (GCI 2018)
Diffstat (limited to '')
-rw-r--r-- | testsuites/psxtests/Makefile.am | 6 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/regex/regcomp.c | 40 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/regex/regerror.c | 44 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/regex/regexec.c | 46 | ||||
-rw-r--r-- | testsuites/psxtests/psxhdrs/regex/regfree.c | 41 |
5 files changed, 176 insertions, 1 deletions
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am index 7a3a635f8e..6484ac03ba 100644 --- a/testsuites/psxtests/Makefile.am +++ b/testsuites/psxtests/Makefile.am @@ -1133,7 +1133,11 @@ lib_a_SOURCES = psxhdrs/devctl/posix_devctl.c \ psxhdrs/locale/uselocale.c \ psxhdrs/locale/setlocale.c \ psxhdrs/locale/duplocale.c \ - psxhdrs/locale/localeconv.c + psxhdrs/locale/localeconv.c \ + psxhdrs/regex/regcomp.c \ + psxhdrs/regex/regerror.c \ + psxhdrs/regex/regexec.c \ + psxhdrs/regex/regfree.c endif rtems_tests_PROGRAMS = $(psx_tests) diff --git a/testsuites/psxtests/psxhdrs/regex/regcomp.c b/testsuites/psxtests/psxhdrs/regex/regcomp.c new file mode 100644 index 0000000000..4c1aee6920 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/regex/regcomp.c @@ -0,0 +1,40 @@ +/** + * @file + * @brief regcomp() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * 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 <sys/types.h> +#include <regex.h> + +int test( void ); + +int test( void ) +{ + regex_t preg; + char *regex = "\\(sim[a-z]le\\) \\1"; + int result; + + result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB ); + + return result; +} diff --git a/testsuites/psxtests/psxhdrs/regex/regerror.c b/testsuites/psxtests/psxhdrs/regex/regerror.c new file mode 100644 index 0000000000..dbe6412c49 --- /dev/null +++ b/testsuites/psxtests/psxhdrs/regex/regerror.c @@ -0,0 +1,44 @@ +/** + * @file + * @brief regerror() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * 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 <sys/types.h> +#include <regex.h> + +int test( void ); + +int test( void ) +{ + regex_t preg; + size_t error; + char *regex = "\\(sim[a-z]le\\) \\1"; + char buffer[100]; + int result; + + result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB ); + (void) result; + error = regerror( result, &preg, buffer, 100 ); + + return (error != '\0'); +} diff --git a/testsuites/psxtests/psxhdrs/regex/regexec.c b/testsuites/psxtests/psxhdrs/regex/regexec.c new file mode 100644 index 0000000000..69ff3c290c --- /dev/null +++ b/testsuites/psxtests/psxhdrs/regex/regexec.c @@ -0,0 +1,46 @@ +/** + * @file + * @brief regexec() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * 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 <sys/types.h> +#include <regex.h> + +int test( void ); + +int test( void ) +{ + regex_t preg; + size_t nmatch = 2; + regmatch_t pmatch[2]; + char *string = "a very simple simple simple string"; + char *regex = "\\(sim[a-z]le\\) \\1"; + int result; + + result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB ); + (void) result; + + result = regexec( &preg, string, nmatch, pmatch, 0 ); + + return result; +} diff --git a/testsuites/psxtests/psxhdrs/regex/regfree.c b/testsuites/psxtests/psxhdrs/regex/regfree.c new file mode 100644 index 0000000000..5c95f8053e --- /dev/null +++ b/testsuites/psxtests/psxhdrs/regex/regfree.c @@ -0,0 +1,41 @@ +/** + * @file + * @brief regfree() API Conformance Test + */ + +/* + * COPYRIGHT (c) 2018. + * Himanshu Sekhar Nayak + * + * 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 <sys/types.h> +#include <regex.h> + +int test( void ); + +int test( void ) +{ + regex_t preg; + char *regex = "\\(sim[a-z]le\\) \\1"; + int result; + + result = regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB ); + regfree( &preg ); + + return result; +} |