[PATCH] More bug-regex19 tests
Jakub Jelinek
jakub@redhat.com
Fri Nov 21 18:54:00 GMT 2003
Hi!
I thought using COMPLEX_BRACKET (which is handled specially in
transit_state_mb) would cure things, but it fixed only the most simple
tests. This patch just adds the modified tests so that they are tested
when this issue is fixed as well.
2003-11-21 Jakub Jelinek <jakub@redhat.com>
* posix/bug-regex19.c (tests): Add more tests.
--- libc/posix/bug-regex19.c.jj 2003-11-21 09:48:44.000000000 +0100
+++ libc/posix/bug-regex19.c 2003-11-21 16:22:10.000000000 +0100
@@ -50,6 +50,20 @@ static struct test_s
{BRE, "\\bA", "C-AA", 2, 2},
{BRE, "A\\b", "CAA-", 1, 2},
{BRE, "A\\b", "CAA", 1, 2},
+ {BRE, "\\<[A]", "CBAA", 0, -1},
+ {BRE, "\\<[A]", "CBAA", 2, -1},
+ {BRE, "[A]\\>", "CAAB", 1, -1},
+ {BRE, "\\b[A]", "CBAA", 0, -1},
+ {BRE, "\\b[A]", "CBAA", 2, -1},
+ {BRE, "[A]\\b", "CAAB", 1, -1},
+ {BRE, "\\<[A]", "AA", 0, 0},
+ {BRE, "\\<[A]", "C-AA", 2, 2},
+ {BRE, "[A]\\>", "CAA-", 1, 2},
+ {BRE, "[A]\\>", "CAA", 1, 2},
+ {BRE, "\\b[A]", "AA", 0, 0},
+ {BRE, "\\b[A]", "C-AA", 2, 2},
+ {BRE, "[A]\\b", "CAA-", 1, 2},
+ {BRE, "[A]\\b", "CAA", 1, 2},
{ERE, "\\b(A|!|.B)", "A=AC", 0, 0},
{ERE, "\\b(A|!|.B)", "=AC", 0, 1},
{ERE, "\\b(A|!|.B)", "!AC", 0, 1},
@@ -132,6 +146,66 @@ static struct test_s
{ERE, ".(\\b|\\B).", "A=C", 0, 0},
{ERE, ".(\\b|\\B).", "ABC", 0, 0},
{ERE, ".(\\b|\\B).", "=~\\!", 0, -1},
+ {ERE, "\\b([A]|[!]|.B)", "A=AC", 0, 0},
+ {ERE, "\\b([A]|[!]|.B)", "=AC", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "!AC", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "=AB", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "DA!C", 0, 2},
+ {ERE, "\\b([A]|[!]|.B)", "=CB", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "!CB", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "D,B", 0, 1},
+ {ERE, "\\b([A]|[!]|.B)", "!.C", 0, -1},
+ {ERE, "\\b([A]|[!]|.B)", "BCB", 0, -1},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "DAAD", 0, 1},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "DABD", 0, 1},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "AD", 0, 0},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "C!", 0, 0},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "D,B", 0, 2},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "DA?A", 0, 3},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "BBC", 0, 0},
+ {ERE, "([A]|\\b)([A]|[B]|[C])", "DA", 0, -1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "A!=\\", 0, 1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "/!=A", 0, 1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "A=A", 0, 1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "==!=", 0, 2},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "==C~", 0, 3},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "=~=", 0, -1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "~!", 0, -1},
+ {ERE, "([!]|\\b)([!]|[=]|[~])", "~=~", 0, -1},
+ {ERE, "\\<([A]|[!]|.B)", "A=AC", 0, 0},
+ {ERE, "\\<([A]|[!]|.B)", "=AC", 0, 1},
+ {ERE, "\\<([A]|[!]|.B)", "!AC", 0, 1},
+ {ERE, "\\<([A]|[!]|.B)", "=AB", 0, 1},
+ {ERE, "\\<([A]|[!]|.B)", "=CB", 0, 1},
+ {ERE, "\\<([A]|[!]|.B)", "!CB", 0, 1},
+ {ERE, "\\<([A]|[!]|.B)", "DA!C", 0, -1},
+ {ERE, "\\<([A]|[!]|.B)", "D,B", 0, -1},
+ {ERE, "\\<([A]|[!]|.B)", "!.C", 0, -1},
+ {ERE, "\\<([A]|[!]|.B)", "BCB", 0, -1},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "DAAD", 0, 1},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "DABD", 0, 1},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "AD", 0, 0},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "C!", 0, 0},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "D,B", 0, 2},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "DA?A", 0, 3},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "BBC", 0, 0},
+ {ERE, "([A]|\\<)([A]|[B]|[C])", "DA", 0, -1},
+ {ERE, "([!]|\\<)([!=]|[~])", "A!=\\", 0, 1},
+ {ERE, "([!]|\\<)([!=]|[~])", "/!=A", 0, 1},
+ {ERE, "([!]|\\<)([!=]|[~])", "==!=", 0, 2},
+ {ERE, "([!]|\\<)([!=]|[~])", "==C~", 0, -1},
+ {ERE, "([!]|\\<)([!=]|[~])", "A=A", 0, -1},
+ {ERE, "([!]|\\<)([!=]|[~])", "=~=", 0, -1},
+ {ERE, "([!]|\\<)([!=]|[~])", "~!", 0, -1},
+ {ERE, "([!]|\\<)([!=]|[~])", "~=~", 0, -1},
+ {ERE, "(\\<|[A].)[ABC]", "AC", 0, 0},
+ {ERE, "(\\<|[A].)[ABC]", "=A", 0, 1},
+ {ERE, "(\\<|[A].)[ABC]", "DACC", 0, 1},
+ {ERE, "(\\<|[A].)[A~C]", "AC", 0, 0},
+ {ERE, "(\\<|[A].)[A~C]", "=A", 0, 1},
+ {ERE, "(\\<|[A].)[A~C]", "DACC", 0, 1},
+ {ERE, "(\\<|[A].)[A~C]", "B!A=", 0, 2},
+ {ERE, "(\\<|[A].)[A~C]", "B~C", 0, 2},
};
int
Jakub
More information about the Libc-hacker
mailing list