add ere backref regression test
authorSzabolcs Nagy <nsz@port70.net>
Sun, 22 Mar 2015 00:16:27 +0000 (00:16 +0000)
committerSzabolcs Nagy <nsz@port70.net>
Sun, 22 Mar 2015 00:16:27 +0000 (00:16 +0000)
src/regression/regex-ere-backref.c [new file with mode: 0644]
src/regression/regex-escaped-high-byte.c

diff --git a/src/regression/regex-ere-backref.c b/src/regression/regex-ere-backref.c
new file mode 100644 (file)
index 0000000..196b25c
--- /dev/null
@@ -0,0 +1,34 @@
+// commit 7c8c86f6308c7e0816b9638465a5917b12159e8f 2015-03-20
+// backref is not valid in ere
+#include <regex.h>
+#include "test.h"
+
+int main(void)
+{
+       char buf[200];
+       char pat[] = "(a)\\1";
+       regex_t r;
+       int n;
+
+       n = regcomp(&r, pat, REG_EXTENDED);
+       if (n) {
+               regerror(n, &r, buf, sizeof buf);
+               t_error("regcomp(%s) returned %d (%s) wanted 0\n", pat, n, buf);
+       }
+
+       n = regexec(&r, "aa", 0, 0, 0);
+       if (n != REG_NOMATCH) {
+               regerror(n, &r, buf, sizeof buf);
+               t_error("regexec(/%s/ ~ \"aa\") returned %d (%s), wanted REG_NOMATCH\n",
+                       pat, n, buf);
+       }
+
+       n = regexec(&r, "a1", 0, 0, 0);
+       if (n) {
+               regerror(n, &r, buf, sizeof buf);
+               t_error("regexec(/%s/ ~ \"a1\") returned %d (%s), wanted 0\n",
+                       pat, n, buf);
+       }
+
+       return t_status;
+}
index 892b4a3..7a29489 100644 (file)
@@ -9,6 +9,7 @@ int main(void)
        regex_t r;
        int n;
 
        regex_t r;
        int n;
 
+       // illegal sequence (not U+00FC)
        n = regcomp(&r, "\\\xfc", 0);
        if (n != REG_BADPAT) {
                regerror(n, &r, buf, sizeof buf);
        n = regcomp(&r, "\\\xfc", 0);
        if (n != REG_BADPAT) {
                regerror(n, &r, buf, sizeof buf);