summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHimanshu40 <himanshuwindows8.1@gmail.com>2018-12-03 22:34:04 +0530
committerJoel Sherrill <joel@rtems.org>2018-12-03 11:25:01 -0600
commitb055da27904c8d3bcda5895d86465cd474020f00 (patch)
tree4ec8073db4e3c04b596121c73d60ca0c69fe43ba
parenttestsupport: Include missing <rtems/bspIo.h> (diff)
downloadrtems-b055da27904c8d3bcda5895d86465cd474020f00.tar.bz2
psxhdrs: add POSIX API Signature Compliance Tests for regex.h (GCI 2018)
-rw-r--r--testsuites/psxtests/Makefile.am6
-rw-r--r--testsuites/psxtests/psxhdrs/regex/regcomp.c40
-rw-r--r--testsuites/psxtests/psxhdrs/regex/regerror.c44
-rw-r--r--testsuites/psxtests/psxhdrs/regex/regexec.c46
-rw-r--r--testsuites/psxtests/psxhdrs/regex/regfree.c41
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;
+}