add a regex regression test
authorSzabolcs Nagy <nsz@port70.net>
Wed, 13 Aug 2014 22:35:56 +0000 (00:35 +0200)
committerSzabolcs Nagy <nsz@port70.net>
Wed, 13 Aug 2014 22:35:56 +0000 (00:35 +0200)
src/regression/regex-negated-range.c [new file with mode: 0644]

diff --git a/src/regression/regex-negated-range.c b/src/regression/regex-negated-range.c
new file mode 100644 (file)
index 0000000..0b53e0b
--- /dev/null
@@ -0,0 +1,25 @@
+// negated overlapping ranges in a regex bracket
+// were not handled correctly by tre
+#include <regex.h>
+#include "test.h"
+
+int main(void)
+{
+       char buf[200];
+       regex_t r;
+       int n;
+
+       n = regcomp(&r, "[^aa-z]", 0);
+       if (n) {
+               regerror(n, &r, buf, sizeof buf);
+               t_error("regcomp returned %d (%s)\n", n, buf);
+       }
+
+       n = regexec(&r, "k", 0, 0, REG_NOSUB);
+       if (n != REG_NOMATCH)
+               t_error("regexec returned %d, [^aa-z] must not match on \"k\"\n", n);
+
+       regfree(&r);
+
+       return t_status;
+}