summaryrefslogtreecommitdiff
path: root/test/regex
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@uclibc-ng.org>2016-10-28 20:29:21 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-10-28 20:31:55 +0200
commit99ef2719fb3d703fe38c4113cd7f5adec516dd3a (patch)
tree2c1f77cb41b60ccbf8faa77a3640491a3546b546 /test/regex
parent543308f6c46cf2edf8a524bc9c631e472570fe72 (diff)
test: remove test suite
The test suite is now a developed in a separate git repository. See here: http://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng-test.git The test suite should be just like every other software compiled with the cross-toolchain. In the past strange problems where found when the test suite got build in the toolchain creation step.
Diffstat (limited to 'test/regex')
-rw-r--r--test/regex/LICENSE72
-rw-r--r--test/regex/Makefile8
-rw-r--r--test/regex/Makefile.in6
-rw-r--r--test/regex/basic.dat216
-rw-r--r--test/regex/categorize.dat62
-rw-r--r--test/regex/forcedassoc.dat30
-rw-r--r--test/regex/interpretation.dat93
-rw-r--r--test/regex/leftassoc.dat16
-rw-r--r--test/regex/nullsubexpr.dat73
-rw-r--r--test/regex/repetition.dat79
-rw-r--r--test/regex/rightassoc.dat16
-rw-r--r--test/regex/testregex.c2145
-rw-r--r--test/regex/tst-regex2.c250
-rw-r--r--test/regex/tst-regex2.dat2176
-rw-r--r--test/regex/tst-regexloc.c53
15 files changed, 0 insertions, 5295 deletions
diff --git a/test/regex/LICENSE b/test/regex/LICENSE
deleted file mode 100644
index 2e5acb9cd..000000000
--- a/test/regex/LICENSE
+++ /dev/null
@@ -1,72 +0,0 @@
-From gsf@research.att.com Wed Mar 1 20:30:54 2006
-Return-Path: <gsf@research.att.com>
-X-Original-To: mps@bridge.intra
-Delivered-To: mps@bridge.intra
-Received: from localhost (localhost [127.0.0.1])
- by localhost (Postfix) with ESMTP id B8C814E4F
- for <mps@bridge.intra>; Wed, 1 Mar 2006 20:30:53 +0100 (CET)
-Received: from mail.bridge.intra ([127.0.0.1])
- by localhost (lnx.bridge.intra [127.0.0.1]) (amavisd-new, port 10024)
- with LMTP id 05987-03 for <mps@bridge.intra>;
- Wed, 1 Mar 2006 20:30:42 +0100 (CET)
-Received: from pop.gmx.net (localhost [127.0.0.1])
- by mail.bridge.intra (Postfix) with ESMTP id C8C73794D
- for <mps@bridge.intra>; Wed, 1 Mar 2006 20:30:38 +0100 (CET)
-X-Flags: 0000
-Delivered-To: GMX delivery to ps.m@gmx.net
-Received: (qmail invoked by alias); 01 Mar 2006 19:23:46 -0000
-Received: from mail-red.research.att.com (EHLO mail-white.research.att.com) [192.20.225.110]
- by mx0.gmx.net (mx085) with SMTP; 01 Mar 2006 20:23:46 +0100
-Received: from raptor.research.att.com (raptor.research.att.com [135.207.23.32])
- by mail-blue.research.att.com (Postfix) with ESMTP id B7929147CBB
- for <ps.m@gmx.net>; Wed, 1 Mar 2006 14:23:45 -0500 (EST)
-Received: (from gsf@localhost)
- by raptor.research.att.com (SGI-8.9.3p2/8.8.7) id OAA86112
- for ps.m@gmx.net; Wed, 1 Mar 2006 14:23:45 -0500 (EST)
-Date: Wed, 1 Mar 2006 14:23:45 -0500 (EST)
-From: Glenn Fowler <gsf@research.att.com>
-Message-Id: <200603011923.OAA86112@raptor.research.att.com>
-Organization: AT&T Research
-X-Mailer: mailx (AT&T/BSD) 9.9 2005-04-21
-Mime-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Transfer-Encoding: 7bit
-References: <Pine.LNX.4.44.0603012011250.6386-100000@lnx.bridge.intra>
-To: mps@bridge.intra
-Subject: Re: testregex licensing question
-X-GMX-Antivirus: -1 (not scanned, may not use virus scanner)
-X-GMX-Antispam: 0 (Mail was not recognized as spam)
-X-GMX-UID: lJF3ZO9DeSEkJ2TcbHQhaXN1IGRvb0Ca
-X-Virus-Scanned: by amavisd-new at localhost
-Status: RO
-X-Status:
-X-Keywords:
-X-UID: 44736
-
-
-you may include it directly
-retain the testregex.c header comment
-it uses a very free license to maximize distribution
-you can copy that .c comment to any test data files you use
-using # comment style to be complete
-
-let me know how it works with your libc
-also pass on any new tests you cook up
-
-On Wed, 1 Mar 2006 20:15:02 +0100 (CET) Peter S. Mazinger wrote:
-> Hello Glenn!
-
-> I would want to add testregex.c and the related *.dat files to the uClibc
-> testsuite. uClibc is licensed under LGPL v2.1. I haven't found any
-> licensing related info on testregex.
-
-> Is it allowed to use the code there, or should I accomodate the testsuite
-> to download the needed files from the original site each time it is ran?
-
-> Thanks, Peter
-
-> --
-> Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2
-> Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2
-
-
diff --git a/test/regex/Makefile b/test/regex/Makefile
deleted file mode 100644
index eea0c491b..000000000
--- a/test/regex/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# uClibc regex tests
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-
-top_builddir=../../
-top_srcdir=../../
-include ../Rules.mak
--include Makefile.in
-include ../Test.mak
diff --git a/test/regex/Makefile.in b/test/regex/Makefile.in
deleted file mode 100644
index 59d0c0697..000000000
--- a/test/regex/Makefile.in
+++ /dev/null
@@ -1,6 +0,0 @@
-# slowsdown embedded test runs extremely and always some
-# some tests are failing
-# for lm32 triggers gcc ICE with gcc 5.3.0
-# ifeq ($(TARGET_lm32),y)
-TESTS_DISABLED := testregex
-# endif
diff --git a/test/regex/basic.dat b/test/regex/basic.dat
deleted file mode 100644
index 5c50f37b4..000000000
--- a/test/regex/basic.dat
+++ /dev/null
@@ -1,216 +0,0 @@
-NOTE all standard compliant implementations should pass these : 2002-05-31
-
-BE abracadabra$ abracadabracadabra (7,18)
-BE a...b abababbb (2,7)
-BE XXXXXX ..XXXXXX (2,8)
-E \) () (1,2)
-BE a] a]a (0,2)
-B } } (0,1)
-E \} } (0,1)
-BE \] ] (0,1)
-B ] ] (0,1)
-E ] ] (0,1)
-B { { (0,1)
-B } } (0,1)
-BE ^a ax (0,1)
-BE \^a a^a (1,3)
-BE a\^ a^ (0,2)
-BE a$ aa (1,2)
-BE a\$ a$ (0,2)
-BE ^$ NULL (0,0)
-E $^ NULL (0,0)
-E a($) aa (1,2)(2,2)
-E a*(^a) aa (0,1)(0,1)
-E (..)*(...)* a (0,0)
-E (..)*(...)* abcd (0,4)(2,4)
-E (ab|a)(bc|c) abc (0,3)(0,2)(2,3)
-E (ab)c|abc abc (0,3)(0,2)
-E a{0}b ab (1,2)
-E (a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
-E (a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
-E a{9876543210} NULL BADBR
-E ((a|a)|a) a (0,1)(0,1)(0,1)
-E (a*)(a|aa) aaaa (0,4)(0,3)(3,4)
-E a*(a.|aa) aaaa (0,4)(2,4)
-E a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2)
-E (a|b)?.* b (0,1)(0,1)
-E (a|b)c|a(b|c) ac (0,2)(0,1)
-E (a|b)c|a(b|c) ab (0,2)(?,?)(1,2)
-E (a|b)*c|(a|ab)*c abc (0,3)(1,2)
-E (a|b)*c|(a|ab)*c xc (1,2)
-E (.a|.b).*|.*(.a|.b) xa (0,2)(0,2)
-E a?(ab|ba)ab abab (0,4)(0,2)
-E a?(ac{0}b|ba)ab abab (0,4)(0,2)
-E ab|abab abbabab (0,2)
-E aba|bab|bba baaabbbaba (5,8)
-E aba|bab baaabbbaba (6,9)
-E (aa|aaa)*|(a|aaaaa) aa (0,2)(0,2)
-E (a.|.a.)*|(a|.a...) aa (0,2)(0,2)
-E ab|a xabc (1,3)
-E ab|a xxabc (2,4)
-Ei (Ab|cD)* aBcD (0,4)(2,4)
-BE [^-] --a (2,3)
-BE [a-]* --a (0,3)
-BE [a-m-]* --amoma-- (0,4)
-E :::1:::0:|:::1:1:0: :::0:::1:::1:::0: (8,17)
-E :::1:::0:|:::1:1:1: :::0:::1:::1:::0: (8,17)
-{E [[:upper:]] A (0,1) [[<element>]] not supported
-E [[:lower:]]+ `az{ (1,3)
-E [[:upper:]]+ @AZ[ (1,3)
-BE [[-]] [[-]] (2,4)
-BE [[.NIL.]] NULL ECOLLATE
-BE [[=aleph=]] NULL ECOLLATE
-}
-BE$ \n \n (0,1)
-BEn$ \n \n (0,1)
-BE$ [^a] \n (0,1)
-BE$ \na \na (0,2)
-E (a)(b)(c) abc (0,3)(0,1)(1,2)(2,3)
-BE xxx xxx (0,3)
-E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 6, (0,6)
-E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) 2/7 (0,3)
-E1 (^|[ (,;])((([Ff]eb[^ ]* *|0*2/|\* */?)0*[6-7]))([^0-9]|$) feb 1,Feb 6 (5,11)
-E3 ((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1)
-E3 ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2)
-E a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81)
-E abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabbbbaa (18,25)
-E abaa|abbaa|abbbaa|abbbbaa ababbabbbabbbabbbbabaa (18,22)
-E aaac|aabc|abac|abbc|baac|babc|bbac|bbbc baaabbbabac (7,11)
-BE$ .* \x01\xff (0,2)
-E aaaa|bbbb|cccc|ddddd|eeeeee|fffffff|gggg|hhhh|iiiii|jjjjj|kkkkk|llll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa (53,57)
-L aaaa\nbbbb\ncccc\nddddd\neeeeee\nfffffff\ngggg\nhhhh\niiiii\njjjjj\nkkkkk\nllll XaaaXbbbXcccXdddXeeeXfffXgggXhhhXiiiXjjjXkkkXlllXcbaXaaaa NOMATCH
-E a*a*a*a*a*b aaaaaaaaab (0,10)
-BE ^ NULL (0,0)
-BE $ NULL (0,0)
-BE ^$ NULL (0,0)
-BE ^a$ a (0,1)
-BE abc abc (0,3)
-BE abc xabcy (1,4)
-BE abc ababc (2,5)
-BE ab*c abc (0,3)
-BE ab*bc abc (0,3)
-BE ab*bc abbc (0,4)
-BE ab*bc abbbbc (0,6)
-E ab+bc abbc (0,4)
-E ab+bc abbbbc (0,6)
-E ab?bc abbc (0,4)
-E ab?bc abc (0,3)
-E ab?c abc (0,3)
-BE ^abc$ abc (0,3)
-BE ^abc abcc (0,3)
-BE abc$ aabc (1,4)
-BE ^ abc (0,0)
-BE $ abc (3,3)
-BE a.c abc (0,3)
-BE a.c axc (0,3)
-BE a.*c axyzc (0,5)
-BE a[bc]d abd (0,3)
-BE a[b-d]e ace (0,3)
-BE a[b-d] aac (1,3)
-BE a[-b] a- (0,2)
-BE a[b-] a- (0,2)
-BE a] a] (0,2)
-BE a[]]b a]b (0,3)
-BE a[^bc]d aed (0,3)
-BE a[^-b]c adc (0,3)
-BE a[^]b]c adc (0,3)
-E ab|cd abc (0,2)
-E ab|cd abcd (0,2)
-E a\(b a(b (0,3)
-E a\(*b ab (0,2)
-E a\(*b a((b (0,4)
-E ((a)) abc (0,1)(0,1)(0,1)
-E (a)b(c) abc (0,3)(0,1)(2,3)
-E a+b+c aabbabc (4,7)
-E a* aaa (0,3)
-E (a*)* - (0,0)(0,0)
-E (a*)+ - (0,0)(0,0)
-E (a*|b)* - (0,0)(0,0)
-E (a+|b)* ab (0,2)(1,2)
-E (a+|b)+ ab (0,2)(1,2)
-E (a+|b)? ab (0,1)(0,1)
-BE [^ab]* cde (0,3)
-E (^)* - (0,0)(0,0)
-BE a* NULL (0,0)
-E ([abc])*d abbbcd (0,6)(4,5)
-E ([abc])*bcd abcd (0,4)(0,1)
-E a|b|c|d|e e (0,1)
-E (a|b|c|d|e)f ef (0,2)(0,1)
-E ((a*|b))* - (0,0)(0,0)(0,0)
-BE abcd*efg abcdefg (0,7)
-BE ab* xabyabbbz (1,3)
-BE ab* xayabbbz (1,2)
-E (ab|cd)e abcde (2,5)(2,4)
-BE [abhgefdc]ij hij (0,3)
-E (a|b)c*d abcd (1,4)(1,2)
-E (ab|ab*)bc abc (0,3)(0,1)
-E a([bc]*)c* abc (0,3)(1,3)
-E a([bc]*)(c*d) abcd (0,4)(1,3)(3,4)
-E a([bc]+)(c*d) abcd (0,4)(1,3)(3,4)
-E a([bc]*)(c+d) abcd (0,4)(1,2)(2,4)
-E a[bcd]*dcdcde adcdcde (0,7)
-E (ab|a)b*c abc (0,3)(0,2)
-E ((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4)
-BE [A-Za-z_][A-Za-z0-9_]* alpha (0,5)
-E ^a(bc+|b[eh])g|.h$ abh (1,3)
-E (bc+d$|ef*g.|h?i(j|k)) effgz (0,5)(0,5)
-E (bc+d$|ef*g.|h?i(j|k)) ij (0,2)(0,2)(1,2)
-E (bc+d$|ef*g.|h?i(j|k)) reffgz (1,6)(1,6)
-E (((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
-BE multiple words multiple words yeah (0,14)
-E (.*)c(.*) abcde (0,5)(0,2)(3,5)
-BE abcd abcd (0,4)
-E a(bc)d abcd (0,4)(1,3)
-E a[-]?c ac (0,3)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qaddafi (0,15)(?,?)(10,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mo'ammar Gadhafi (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Kaddafi (0,15)(?,?)(10,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Qadhafi (0,15)(?,?)(10,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gadafi (0,14)(?,?)(10,11)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadafi (0,15)(?,?)(11,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moamar Gaddafi (0,14)(?,?)(9,11)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Mu'ammar Qadhdhafi (0,18)(?,?)(13,15)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Khaddafi (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafy (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghadafi (0,15)(?,?)(11,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Ghaddafi (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muamar Kaddafi (0,14)(?,?)(9,11)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Quathafi (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Muammar Gheddafi (0,16)(?,?)(11,13)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Khadafy (0,15)(?,?)(11,12)
-E M[ou]'?am+[ae]r .*([AEae]l[- ])?[GKQ]h?[aeu]+([dtz][dhz]?)+af[iy] Moammar Qudhafi (0,15)(?,?)(10,12)
-E a+(b|c)*d+ aabcdd (0,6)(3,4)
-E ^.+$ vivi (0,4)
-E ^(.+)$ vivi (0,4)(0,4)
-E ^([^!.]+).att.com!(.+)$ gryphon.att.com!eby (0,19)(0,7)(16,19)
-E ^([^!]+!)?([^!]+)$ bas (0,3)(?,?)(0,3)
-E ^([^!]+!)?([^!]+)$ bar!bas (0,7)(0,4)(4,7)
-E ^([^!]+!)?([^!]+)$ foo!bas (0,7)(0,4)(4,7)
-E ^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(4,8)(8,11)
-E ((foo)|(bar))!bas bar!bas (0,7)(0,3)(?,?)(0,3)
-E ((foo)|(bar))!bas foo!bar!bas (4,11)(4,7)(?,?)(4,7)
-E ((foo)|(bar))!bas foo!bas (0,7)(0,3)(0,3)
-E ((foo)|bar)!bas bar!bas (0,7)(0,3)
-E ((foo)|bar)!bas foo!bar!bas (4,11)(4,7)
-E ((foo)|bar)!bas foo!bas (0,7)(0,3)(0,3)
-E (foo|(bar))!bas bar!bas (0,7)(0,3)(0,3)
-E (foo|(bar))!bas foo!bar!bas (4,11)(4,7)(4,7)
-E (foo|(bar))!bas foo!bas (0,7)(0,3)
-E (foo|bar)!bas bar!bas (0,7)(0,3)
-E (foo|bar)!bas foo!bar!bas (4,11)(4,7)
-E (foo|bar)!bas foo!bas (0,7)(0,3)
-E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
-E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bas (0,3)(?,?)(0,3)
-E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ bar!bas (0,7)(0,4)(4,7)
-E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bar!bas (0,11)(?,?)(?,?)(4,8)(8,11)
-E ^([^!]+!)?([^!]+)$|^.+!([^!]+!)([^!]+)$ foo!bas (0,7)(0,4)(4,7)
-E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bas (0,3)(0,3)(?,?)(0,3)
-E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ bar!bas (0,7)(0,7)(0,4)(4,7)
-E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bar!bas (0,11)(0,11)(?,?)(?,?)(4,8)(8,11)
-E ^(([^!]+!)?([^!]+)|.+!([^!]+!)([^!]+))$ foo!bas (0,7)(0,7)(0,4)(4,7)
-E .*(/XXX).* /XXX (0,4)(0,4)
-E .*(\\XXX).* \XXX (0,4)(0,4)
-E \\XXX \XXX (0,4)
-E .*(/000).* /000 (0,4)(0,4)
-E .*(\\000).* \000 (0,4)(0,4)
-E \\000 \000 (0,4)
diff --git a/test/regex/categorize.dat b/test/regex/categorize.dat
deleted file mode 100644
index d34851278..000000000
--- a/test/regex/categorize.dat
+++ /dev/null
@@ -1,62 +0,0 @@
-NOTE regex implementation categorization 2004-05-31
-
-?E aa* xaxaax (1,2) POSITION=leftmost
-; POSITION=bug
-
-?E (a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2) ASSOCIATIVITY=right
-|E (a*)(ab)*(b*) abc (0,2)(0,0)(0,2)(2,2) ASSOCIATIVITY=left
-; ASSOCIATIVITY=bug
-
-?E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3) SUBEXPRESSION=precedence
-|E ((a*)(ab)*)((b*)(a*)) aba (0,3)(0,1)(0,1)(?,?)(1,3)(1,2)(2,3) SUBEXPRESSION=grouping
-; SUBEXPRESSION=bug
-
-?E (...?.?)* xxxxxx (0,6)(4,6) REPEAT_LONGEST=first
-|E (...?.?)* xxxxxx (0,6)(2,6) REPEAT_LONGEST=last
-|E (...?.?)* xxxxxx OK REPEAT_LONGEST=unknown
-; REPEAT_LONGEST=bug
-
-?E (a|ab)(bc|c) abcabc (0,3)(0,2)(2,3) EXPECTED
-|E (a|ab)(bc|c) abcabc (0,3)(0,1)(1,3) BUG=alternation-order
-; BUG=alternation-order-UNKNOWN
-
-?E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5) EXPECTED
-|E (aba|a*b)(aba|a*b) ababa (0,4)(0,3)(3,4) BUG=first-match
-; BUG=unknown-match
-
-?B a\(b\)*\1 a NOMATCH EXPECTED
-|B a\(b\)*\1 a (0,1) BUG=nomatch-match
-|B a\(b\)*\1 abab (0,2)(1,2) # BUG=repeat-any
-; BUG=nomatch-match-UNKNOWN
-
-?E (a*){2} xxxxx (0,0)(0,0) EXPECTED
-|E (a*){2} xxxxx (5,5)(5,5) BUG=range-null
-; BUG=range-null-UNKNOWN
-
-?B a\(b\)*\1 abab NOMATCH EXPECTED
-|B a\(b\)*\1 abab (0,1) # BUG=nomatch-match
-|B a\(b\)*\1 abab (0,2)(1,2) BUG=repeat-any
-; BUG=repeat-any-UNKNOWN
-
-?E (a*)* a (0,1)(0,1) EXPECTED
-|E (a*)* ax (0,1)(0,1) BUG=repeat-null-unknown
-|E (a*)* a (0,1)(1,1) BUG=repeat-null
-; BUG=repeat-null-UNKNOWN
-
-?E (aba|a*b)* ababa (0,5)(2,5) EXPECTED
-|E (aba|a*b)* ababa (0,5)(3,4) BUG=repeat-short
-|E (aba|a*b)* ababa (0,4)(3,4) # LENGTH=first
-; BUG=repeat-short-UNKNOWN
-
-?E (a(b)?)+ aba (0,3)(2,3) EXPECTED
-|E (a(b)?)+ aba (0,3)(2,3)(1,2) BUG=repeat-artifact
-; BUG=repeat-artifact-UNKNOWN
-
-?B \(a\(b\)*\)*\2 abab NOMATCH EXPECTED
-|B \(a\(b\)*\)*\2 abab (0,4)(2,3)(1,2) BUG=repeat-artifact-nomatch
-; BUG=repeat-artifact-nomatch-UNKNOWN
-
-?E (a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(2,4) BUG=subexpression-first
-|E .*(.*) ab (0,2)(2,2) EXPECTED
-|E .*(.*) ab (0,2)(0,2) BUG=subexpression-first
-; BUG=subexpression-first-UNKNOWN
diff --git a/test/regex/forcedassoc.dat b/test/regex/forcedassoc.dat
deleted file mode 100644
index 39f3111da..000000000
--- a/test/regex/forcedassoc.dat
+++ /dev/null
@@ -1,30 +0,0 @@
-NOTE left-assoc:pass-all right-assoc:pass-all : 2002-04-29
-
-E (a|ab)(c|bcd) abcd (0,4)(0,1)(1,4)
-E (a|ab)(bcd|c) abcd (0,4)(0,1)(1,4)
-E (ab|a)(c|bcd) abcd (0,4)(0,1)(1,4)
-E (ab|a)(bcd|c) abcd (0,4)(0,1)(1,4)
-E ((a|ab)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
-E ((a|ab)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
-E ((ab|a)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
-E ((ab|a)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
-E (a|ab)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
-E (a|ab)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
-E (ab|a)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
-E (ab|a)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
-E (a*)(b|abc) abc (0,3)(0,0)(0,3)
-E (a*)(abc|b) abc (0,3)(0,0)(0,3)
-E ((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
-E ((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
-E (a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
-E (a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
-E (a*)(b|abc) abc (0,3)(0,0)(0,3)
-E (a*)(abc|b) abc (0,3)(0,0)(0,3)
-E ((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
-E ((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
-E (a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
-E (a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
-E (a|ab) ab (0,2)(0,2)
-E (ab|a) ab (0,2)(0,2)
-E (a|ab)(b*) ab (0,2)(0,2)(2,2)
-E (ab|a)(b*) ab (0,2)(0,2)(2,2)
diff --git a/test/regex/interpretation.dat b/test/regex/interpretation.dat
deleted file mode 100644
index 72e186eb7..000000000
--- a/test/regex/interpretation.dat
+++ /dev/null
@@ -1,93 +0,0 @@
-:RE#01:E a+ xaax (1,3)
-:RE#02:B .\(a*\). xaax (0,4)(1,3)
-:RE#03:E (a?)((ab)?) ab (0,2)(0,0)(0,2)(0,2)
-:RE#04:E (a?)((ab)?)(b?) ab (0,2)(0,1)(1,1)(?,?)(1,2)
-:RE#05:E ((a?)((ab)?))(b?) ab (0,2)(0,2)(0,0)(0,2)(0,2)(2,2)
-:RE#06:E (a?)(((ab)?)(b?)) ab (0,2)(0,1)(1,2)(1,1)(?,?)(1,2)
-:RE#07:E (.?) x (0,1)(0,1)
-:RE#08:E (.?){1} x (0,1)(0,1)
-:RE#09:E (.?)(.?) x (0,1)(0,1)(1,1)
-:RE#10:E (.?){2} x (0,1)(1,1)
-:RE#11:E (.?)* x (0,1)(0,1)
-:RE#12:E (.?.?) xxx (0,2)(0,2)
-:RE#13:E (.?.?){1} xxx (0,2)(0,2)
-:RE#14:E (.?.?)(.?.?) xxx (0,3)(0,2)(2,3)
-:RE#15:E (.?.?){2} xxx (0,3)(2,3)
-:RE#16:E (.?.?)(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)(3,3)
-:RE#17:E (.?.?){3} xxx (0,3)(3,3)
-:RE#18:E (.?.?)* xxx (0,3)(2,3)
-:RE#19:E a?((ab)?)(b?) ab (0,2)(1,1)(?,?)(1,2)
-:RE#20:E (a?)((ab)?)b? ab (0,2)(0,1)(1,1)(?,?)
-:RE#21:E a?((ab)?)b? ab (0,2)(1,1)(?,?)
-:RE#22:E (a*){2} xxxxx (0,0)(0,0)
-:RE#23:E (ab?)(b?a) aba (0,3)(0,2)(2,3)
-:RE#24:E (a|ab)(ba|a) aba (0,3)(0,2)(2,3)
-:RE#25:E (a|ab|ba) aba (0,2)(0,2)
-:RE#26:E (a|ab|ba)(a|ab|ba) aba (0,3)(0,2)(2,3)
-:RE#27:E (a|ab|ba)* aba (0,3)(2,3)
-:RE#28:E (aba|a*b) ababa (0,3)(0,3)
-:RE#29:E (aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
-:RE#30:E (aba|a*b)* ababa (0,5)(2,5)
-:RE#31:E (aba|ab|a) ababa (0,3)(0,3)
-:RE#32:E (aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,5)
-:RE#33:E (aba|ab|a)* ababa (0,5)(2,5)
-:RE#34:E (a(b)?) aba (0,2)(0,2)(1,2)
-:RE#35:E (a(b)?)(a(b)?) aba (0,3)(0,2)(1,2)(2,3)(?,?)
-:RE#36:E (a(b)?)+ aba (0,3)(2,3)(?,?)
-:RE#37:E (.*)(.*) xx (0,2)(0,2)(2,2)
-:RE#38:E .*(.*) xx (0,2)(2,2)
-:RE#39:E (a.*z|b.*y) azbazby (0,5)(0,5)
-:RE#40:E (a.*z|b.*y)(a.*z|b.*y) azbazby (0,7)(0,5)(5,7)
-:RE#41:E (a.*z|b.*y)* azbazby (0,7)(5,7)
-:RE#42:E (.|..)(.*) ab (0,2)(0,2)(2,2)
-:RE#43:E ((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)
-:RE#44:E ((..)*(...)*)((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)(3,3)(?,?)
-:RE#45:E ((..)*(...)*)* xxx (0,3)(0,3)(?,?)(0,3)
-:RE#46:B \(a\{0,1\}\)*b\1 ab (0,2)(1,1)
-:RE#47:B \(a*\)*b\1 ab (0,2)(1,1)
-:RE#48:B \(a*\)b\1* ab (0,2)(0,1)
-:RE#49:B \(a*\)*b\1* ab (0,2)(1,1)
-:RE#50:B \(a\{0,1\}\)*b\(\1\) ab (0,2)(1,1)(2,2)
-:RE#51:B \(a*\)*b\(\1\) ab (0,2)(1,1)(2,2)
-:RE#52:B \(a*\)b\(\1\)* ab (0,2)(0,1)(?,?)
-:RE#53:B \(a*\)*b\(\1\)* ab (0,2)(1,1)(2,2)
-:RE#54:B \(a\{0,1\}\)*b\1 aba (0,3)(0,1)
-:RE#55:B \(a*\)*b\1 aba (0,3)(0,1)
-:RE#56:B \(a*\)b\1* aba (0,3)(0,1)
-:RE#57:B \(a*\)*b\1* aba (0,3)(0,1)
-:RE#58:B \(a*\)*b\(\1\)* aba (0,3)(0,1)(2,3)
-:RE#59:B \(a\{0,1\}\)*b\1 abaa (0,3)(0,1)
-:RE#60:B \(a*\)*b\1 abaa (0,3)(0,1)
-:RE#61:B \(a*\)b\1* abaa (0,4)(0,1)
-:RE#62:B \(a*\)*b\1* abaa (0,4)(0,1)
-:RE#63:B \(a*\)*b\(\1\)* abaa (0,4)(0,1)(3,4)
-:RE#64:B \(a\{0,1\}\)*b\1 aab (0,3)(2,2)
-:RE#65:B \(a*\)*b\1 aab (0,3)(2,2)
-:RE#66:B \(a*\)b\1* aab (0,3)(0,2)
-:RE#67:B \(a*\)*b\1* aab (0,3)(2,2)
-:RE#68:B \(a*\)*b\(\1\)* aab (0,3)(2,2)(3,3)
-:RE#69:B \(a\{0,1\}\)*b\1 aaba (0,4)(1,2)
-:RE#70:B \(a*\)*b\1 aaba (0,4)(1,2)
-:RE#71:B \(a*\)b\1* aaba (0,3)(0,2)
-:RE#72:B \(a*\)*b\1* aaba (0,4)(1,2)
-:RE#73:B \(a*\)*b\(\1\)* aaba (0,4)(1,2)(3,4)
-:RE#74:B \(a\{0,1\}\)*b\1 aabaa (0,4)(1,2)
-:RE#75:B \(a*\)*b\1 aabaa (0,5)(0,2)
-:RE#76:B \(a*\)b\1* aabaa (0,5)(0,2)
-:RE#77:B \(a*\)*b\1* aabaa (0,5)(0,2)
-:RE#78:B \(a*\)*b\(\1\)* aabaa (0,5)(0,2)(3,5)
-:RE#79:B \(x\)*a\1 a NOMATCH
-:RE#80:B \(x\)*a\1* a (0,1)(?,?)
-:RE#81:B \(x\)*a\(\1\) a NOMATCH
-:RE#82:B \(x\)*a\(\1\)* a (0,1)(?,?)(?,?)
-:RE#83:E (aa(b(b))?)+ aabbaa (0,6)(4,6)(?,?)(?,?)
-:RE#84:E (a(b)?)+ aba (0,3)(2,3)(?,?)
-:RE#85:E ([ab]+)([bc]+)([cd]*) abcd (0,4)(0,2)(2,3)(3,4)
-:RE#86:B \([ab]*\)\([bc]*\)\([cd]*\)\1 abcdaa (0,5)(0,1)(1,3)(3,4)
-:RE#87:B \([ab]*\)\([bc]*\)\([cd]*\)\1 abcdab (0,6)(0,2)(2,3)(3,4)
-:RE#88:B \([ab]*\)\([bc]*\)\([cd]*\)\1* abcdaa (0,6)(0,1)(1,3)(3,4)
-:RE#89:B \([ab]*\)\([bc]*\)\([cd]*\)\1* abcdab (0,6)(0,2)(2,3)(3,4)
-:RE#90:E ^(A([^B]*))?(B(.*))? Aa (0,2)(0,2)(1,2)
-:RE#91:E ^(A([^B]*))?(B(.*))? Bb (0,2)(?,?)(?,?)(0,2)(1,2)
-:RE#92:B .*\([AB]\).*\1 ABA (0,3)(0,1)
-:RE#93:B$ [^A]*A \nA (0,2)
diff --git a/test/regex/leftassoc.dat b/test/regex/leftassoc.dat
deleted file mode 100644
index 9c068c61b..000000000
--- a/test/regex/leftassoc.dat
+++ /dev/null
@@ -1,16 +0,0 @@
-NOTE left-assoc:pass-all right-assoc:pass-none : 2002-04-29
-
-E (a|ab)(c|bcd)(d*) abcd (0,4)(0,1)(1,4)(4,4)
-E (a|ab)(bcd|c)(d*) abcd (0,4)(0,1)(1,4)(4,4)
-E (ab|a)(c|bcd)(d*) abcd (0,4)(0,1)(1,4)(4,4)
-E (ab|a)(bcd|c)(d*) abcd (0,4)(0,1)(1,4)(4,4)
-
-E (a*)(b|abc)(c*) abc (0,3)(0,0)(0,3)(3,3)
-E (a*)(abc|b)(c*) abc (0,3)(0,0)(0,3)(3,3)
-E (a*)(b|abc)(c*) abc (0,3)(0,0)(0,3)(3,3)
-E (a*)(abc|b)(c*) abc (0,3)(0,0)(0,3)(3,3)
-
-E (a|ab)(c|bcd)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
-E (a|ab)(bcd|c)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
-E (ab|a)(c|bcd)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
-E (ab|a)(bcd|c)(d|.*) abcd (0,4)(0,1)(1,4)(4,4)
diff --git a/test/regex/nullsubexpr.dat b/test/regex/nullsubexpr.dat
deleted file mode 100644
index c73d8f09e..000000000
--- a/test/regex/nullsubexpr.dat
+++ /dev/null
@@ -1,73 +0,0 @@
-NOTE null subexpression matches : 2002-06-06
-
-E (a*)* a (0,1)(0,1)
-E SAME x (0,0)(0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-E (a*)+ a (0,1)(0,1)
-E SAME x (0,0)(0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-E (a+)* a (0,1)(0,1)
-E SAME x (0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-E (a+)+ a (0,1)(0,1)
-E SAME x NOMATCH
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-
-E ([a]*)* a (0,1)(0,1)
-E SAME x (0,0)(0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-E ([a]*)+ a (0,1)(0,1)
-E SAME x (0,0)(0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaax (0,6)(0,6)
-E ([^b]*)* a (0,1)(0,1)
-E SAME b (0,0)(0,0)
-E SAME aaaaaa (0,6)(0,6)
-E SAME aaaaaab (0,6)(0,6)
-E ([ab]*)* a (0,1)(0,1)
-E SAME aaaaaa (0,6)(0,6)
-E SAME ababab (0,6)(0,6)
-E SAME bababa (0,6)(0,6)
-E SAME b (0,1)(0,1)
-E SAME bbbbbb (0,6)(0,6)
-E SAME aaaabcde (0,5)(0,5)
-E ([^a]*)* b (0,1)(0,1)
-E SAME bbbbbb (0,6)(0,6)
-E SAME aaaaaa (0,0)(0,0)
-E ([^ab]*)* ccccxx (0,6)(0,6)
-E SAME ababab (0,0)(0,0)
-
-E ((z)+|a)* zabcde (0,2)(1,2)
-
-{E a+? aaaaaa (0,1) no *? +? mimimal match ops
-E (a) aaa (0,1)(0,1)
-E (a*?) aaa (0,0)(0,0)
-E (a)*? aaa (0,0)
-E (a*?)*? aaa (0,0)
-}
-
-B \(a*\)*\(x\) x (0,1)(0,0)(0,1)
-B \(a*\)*\(x\) ax (0,2)(0,1)(1,2)
-B \(a*\)*\(x\) axa (0,2)(0,1)(1,2)
-B \(a*\)*\(x\)\(\1\) x (0,1)(0,0)(0,1)(1,1)
-B \(a*\)*\(x\)\(\1\) ax (0,2)(1,1)(1,2)(2,2)
-B \(a*\)*\(x\)\(\1\) axa (0,3)(0,1)(1,2)(2,3)
-B \(a*\)*\(x\)\(\1\)\(x\) axax (0,4)(0,1)(1,2)(2,3)(3,4)
-B \(a*\)*\(x\)\(\1\)\(x\) axxa (0,3)(1,1)(1,2)(2,2)(2,3)
-
-E (a*)*(x) x (0,1)(0,0)(0,1)
-E (a*)*(x) ax (0,2)(0,1)(1,2)
-E (a*)*(x) axa (0,2)(0,1)(1,2)
-
-E (a*)+(x) x (0,1)(0,0)(0,1)
-E (a*)+(x) ax (0,2)(0,1)(1,2)
-E (a*)+(x) axa (0,2)(0,1)(1,2)
-
-E (a*){2}(x) x (0,1)(0,0)(0,1)
-E (a*){2}(x) ax (0,2)(1,1)(1,2)
-E (a*){2}(x) axa (0,2)(1,1)(1,2)
diff --git a/test/regex/repetition.dat b/test/regex/repetition.dat
deleted file mode 100644
index b54a2c6f4..000000000
--- a/test/regex/repetition.dat
+++ /dev/null
@@ -1,79 +0,0 @@
-NOTE implicit vs. explicit repetitions : 2002-08-01
-#
-# Glenn Fowler <gsf@research.att.com>
-# conforming matches (column 4) must match one of the following BREs
-# NOMATCH
-# (0,.)\((\(.\),\(.\))(?,?)(\2,\3)\)*
-# (0,.)\((\(.\),\(.\))(\2,\3)(?,?)\)*
-# i.e., each 3-tuple has two identical elements and one (?,?)
-#
-
-E ((..)|(.)) NULL NOMATCH
-E ((..)|(.))((..)|(.)) NULL NOMATCH
-E ((..)|(.))((..)|(.))((..)|(.)) NULL NOMATCH
-
-E ((..)|(.)){1} NULL NOMATCH
-E ((..)|(.)){2} NULL NOMATCH
-E ((..)|(.)){3} NULL NOMATCH
-
-E ((..)|(.))* NULL (0,0)
-
-E ((..)|(.)) a (0,1)(0,1)(?,?)(0,1)
-E ((..)|(.))((..)|(.)) a NOMATCH
-E ((..)|(.))((..)|(.))((..)|(.)) a NOMATCH
-
-E ((..)|(.)){1} a (0,1)(0,1)(?,?)(0,1)
-E ((..)|(.)){2} a NOMATCH
-E ((..)|(.)){3} a NOMATCH
-
-E ((..)|(.))* a (0,1)(0,1)(?,?)(0,1)
-
-E ((..)|(.)) aa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.))((..)|(.)) aa (0,2)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)
-E ((..)|(.))((..)|(.))((..)|(.)) aa NOMATCH
-
-E ((..)|(.)){1} aa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.)){2} aa (0,2)(1,2)(?,?)(1,2)
-E ((..)|(.)){3} aa NOMATCH
-
-E ((..)|(.))* aa (0,2)(0,2)(0,2)(?,?)
-
-E ((..)|(.)) aaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.))((..)|(.)) aaa (0,3)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)
-E ((..)|(.))((..)|(.))((..)|(.)) aaa (0,3)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)(2,3)(?,?)(2,3)
-
-E ((..)|(.)){1} aaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.)){2} aaa (0,3)(2,3)(?,?)(2,3)
-E ((..)|(.)){3} aaa (0,3)(2,3)(?,?)(2,3)
-
-E ((..)|(.))* aaa (0,3)(2,3)(?,?)(2,3)
-
-E ((..)|(.)) aaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
-E ((..)|(.))((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)(3,4)(?,?)(3,4)
-
-E ((..)|(.)){1} aaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.)){2} aaaa (0,4)(2,4)(2,4)(?,?)
-E ((..)|(.)){3} aaaa (0,4)(3,4)(?,?)(3,4)
-
-E ((..)|(.))* aaaa (0,4)(2,4)(2,4)(?,?)
-
-E ((..)|(.)) aaaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.))((..)|(.)) aaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
-E ((..)|(.))((..)|(.))((..)|(.)) aaaaa (0,5)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,5)(?,?)(4,5)
-
-E ((..)|(.)){1} aaaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.)){2} aaaaa (0,4)(2,4)(2,4)(?,?)
-E ((..)|(.)){3} aaaaa (0,5)(4,5)(?,?)(4,5)
-
-E ((..)|(.))* aaaaa (0,5)(4,5)(?,?)(4,5)
-
-E ((..)|(.)) aaaaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.))((..)|(.)) aaaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
-E ((..)|(.))((..)|(.))((..)|(.)) aaaaaa (0,6)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,6)(4,6)(?,?)
-
-E ((..)|(.)){1} aaaaaa (0,2)(0,2)(0,2)(?,?)
-E ((..)|(.)){2} aaaaaa (0,4)(2,4)(2,4)(?,?)
-E ((..)|(.)){3} aaaaaa (0,6)(4,6)(4,6)(?,?)
-
-E ((..)|(.))* aaaaaa (0,6)(4,6)(4,6)(?,?)
diff --git a/test/regex/rightassoc.dat b/test/regex/rightassoc.dat
deleted file mode 100644
index ed7f28e62..000000000
--- a/test/regex/rightassoc.dat
+++ /dev/null
@@ -1,16 +0,0 @@
-NOTE left-assoc:pass-none right-assoc:pass-all : 2002-04-29
-
-E (a|ab)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
-E (a|ab)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
-E (ab|a)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
-E (ab|a)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
-
-E (a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
-E (a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
-E (a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
-E (a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
-
-E (a|ab)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
-E (a|ab)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
-E (ab|a)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
-E (ab|a)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
diff --git a/test/regex/testregex.c b/test/regex/testregex.c
deleted file mode 100644
index d18761dd3..000000000
--- a/test/regex/testregex.c
+++ /dev/null
@@ -1,2145 +0,0 @@
-/*
- * regex(3) test harness
- *
- * build: cc -o testregex testregex.c
- * help: testregex --man
- * note: REG_* features are detected by #ifdef; if REG_* are enums
- * then supply #define REG_foo REG_foo for each enum REG_foo
- *
- * Glenn Fowler <gsf@research.att.com>
- * AT&T Labs Research
- *
- * PLEASE: publish your tests so everyone can benefit
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of THIS SOFTWARE FILE (the "Software"), to deal in the Software
- * without restriction, including without limitation the rights to use,
- * copy, modify, merge, publish, distribute, and/or sell copies of the
- * Software, and to permit persons to whom the Software is furnished to do
- * so, subject to the following disclaimer:
- *
- * THIS SOFTWARE IS PROVIDED BY AT&T ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL AT&T BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-static const char id[] = "\n@(#)$Id: testregex (AT&T Research) 2005-05-20 $\0\n";
-
-#if _PACKAGE_ast
-#include <ast.h>
-#else
-#include <sys/types.h>
-#endif
-
-#include <stdio.h>
-#include <regex.h>
-#include <ctype.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <string.h>
-#include <unistd.h>
-
-#ifdef __STDC__
-#include <stdlib.h>
-#include <locale.h>
-#endif
-
-#if !_PACKAGE_ast
-#undef REG_DISCIPLINE
-#endif
-
-#ifndef REG_DELIMITED
-#undef _REG_subcomp
-#endif
-
-#define TEST_ARE 0x00000001
-#define TEST_BRE 0x00000002
-#define TEST_ERE 0x00000004
-#define TEST_KRE 0x00000008
-#define TEST_LRE 0x00000010
-#define TEST_SRE 0x00000020
-
-#define TEST_EXPAND 0x00000040
-#define TEST_LENIENT 0x00000080
-
-#define TEST_QUERY 0x00000100
-#define TEST_SUB 0x00000200
-#define TEST_UNSPECIFIED 0x00000400
-#define TEST_VERIFY 0x00000800
-#define TEST_AND 0x00001000
-#define TEST_OR 0x00002000
-
-#define TEST_DELIMIT 0x00010000
-#define TEST_OK 0x00020000
-#define TEST_SAME 0x00040000
-
-#define TEST_ACTUAL 0x00100000
-#define TEST_BASELINE 0x00200000
-#define TEST_FAIL 0x00400000
-#define TEST_PASS 0x00800000
-#define TEST_SUMMARY 0x01000000
-
-#define TEST_IGNORE_ERROR 0x02000000
-#define TEST_IGNORE_OVER 0x04000000
-#define TEST_IGNORE_POSITION 0x08000000
-
-#define TEST_CATCH 0x10000000
-#define TEST_VERBOSE 0x20000000
-
-#define TEST_GLOBAL (TEST_ACTUAL|TEST_AND|TEST_BASELINE|TEST_CATCH|TEST_FAIL|TEST_IGNORE_ERROR|TEST_IGNORE_OVER|TEST_IGNORE_POSITION|TEST_OR|TEST_PASS|TEST_SUMMARY|TEST_VERBOSE)
-
-#ifdef REG_DISCIPLINE
-
-
-#include <stk.h>
-
-typedef struct Disc_s
-{
- regdisc_t disc;
- int ordinal;
- Sfio_t* sp;
-} Disc_t;
-
-static void*
-compf(const regex_t* re, const char* xstr, size_t xlen, regdisc_t* disc)
-{
- Disc_t* dp = (Disc_t*)disc;
-
- return (void*)++dp->ordinal;
-}
-
-static int
-execf(const regex_t* re, void* data, const char* xstr, size_t xlen, const char* sstr, size_t slen, char** snxt, regdisc_t* disc)
-{
- Disc_t* dp = (Disc_t*)disc;
-
- sfprintf(dp->sp, "{%-.*s}(%d:%d)", xlen, xstr, (int)data, slen);
- return atoi(xstr);
-}
-
-static void*
-resizef(void* handle, void* data, size_t size)
-{
- if (!size)
- return 0;
- return stkalloc((Sfio_t*)handle, size);
-}
-
-#endif
-
-#ifndef NiL
-#ifdef __STDC__
-#define NiL 0
-#else
-#define NiL (char*)0
-#endif
-#endif
-
-#define H(x) do{if(html)fprintf(stderr,x);}while(0)
-#define T(x) fprintf(stderr,x)
-
-static