This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] More bug-regex19 tests


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]