Hi guys,

Here is the patch for regex.h file.

Thanks
Himanshu
From af347943821a04f23f004f75b54506b794a7a3d1 Mon Sep 17 00:00:00 2001
From: Himanshu40 <himanshuwindows...@gmail.com>
Date: Mon, 3 Dec 2018 22:34:04 +0530
Subject: [PATCH] psxhdrs: add POSIX API Signature Compliance Tests for regex.h
 File (GCI 2018)

---
 testsuites/psxtests/Makefile.am              |  6 ++-
 testsuites/psxtests/psxhdrs/regex/regcomp.c  | 40 ++++++++++++++++++
 testsuites/psxtests/psxhdrs/regex/regerror.c | 43 +++++++++++++++++++
 testsuites/psxtests/psxhdrs/regex/regexec.c  | 44 ++++++++++++++++++++
 testsuites/psxtests/psxhdrs/regex/regfree.c  | 42 +++++++++++++++++++
 5 files changed, 174 insertions(+), 1 deletion(-)
 create mode 100644 testsuites/psxtests/psxhdrs/regex/regcomp.c
 create mode 100644 testsuites/psxtests/psxhdrs/regex/regerror.c
 create mode 100644 testsuites/psxtests/psxhdrs/regex/regexec.c
 create mode 100644 testsuites/psxtests/psxhdrs/regex/regfree.c

diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index adbbe7aaed..61d03409dc 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..d07cfbcfd3
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/regex/regerror.c
@@ -0,0 +1,43 @@
+/**
+ *  @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 );
+  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..5979e18440
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/regex/regexec.c
@@ -0,0 +1,44 @@
+/**
+ *  @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 );
+  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..3bba5e39a4
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/regex/regfree.c
@@ -0,0 +1,42 @@
+/**
+ *  @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;
+
+  regcomp( &preg, regex, REG_EXTENDED|REG_NOSUB );
+  regfree( &preg );
+  result = 0;
+
+  return result;
+}
-- 
2.17.2

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to