@@ -156,14 +156,21 @@ aaaaa(aa)aa(aa(a)a)?aa
156156\\\\\\\\\\\\\\\\ <
157157[^a]*b
158158^(.+):([0-9]+):(.+)
159+ ^(.+):([0-9]+).(.+)
160+ ^(.+):([0-9]+).(.+){2,5}
159161^(.+):([0-9]+):(.+)
162+ ^(.+):([0-9]+).(.+)
160163^(.+):([0-9]+):(.+)
161164^(.+):([0-9]+):(.+)(.+)
162165(.*):([0-9]*):(.*)
163166(.*):([0-9]*)( ):((.*)+)
164167(((aaa+)+)bb*)(.*):([0-9]*):(.+)
165168^(.+):([0-9]+):(.{8})+
166169^(.+):([0-9]+):((aaaa)|(.+))\"
170+ [0-9]+.(.*)
171+ [0-9]+.(.*)
172+ ([0-9])+.(.*)
173+ (([0-9])+)(.)(.*)
167174"
168175input=" \
169176abcdef
@@ -321,14 +328,21 @@ xabcx
321328\\\\\\\\ <
322329hhagbdbdbjsjjjda..b
323330userspace-api/media/v4l/vbi_625.svg:98: :34bstroke-linejoin:m;stroke-miteit:10;stroke-day:n;se-ty:1\"
331+ userspace-api/media/v4l/vbi_625.svg:98: :34bstroke-linejoin:m;stroke-miteit:10;stroke-day:n;se-ty:1\"
332+ userspace-api/media/v4l/vbi_625.svg:98: :34bstroke-linejoin:m;stroke-miteit:10;stroke-day:n;se-ty:1\"
324333h:98: :3234434butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1\"
325334h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
326335h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
327336h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
328337h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
338+ h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
329339aaaaabb grt:123:....
330340h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
331341h:98: :3234utt;strokeliin:miter;stroke-mirlimit:10;stroke-dasharray:none;stroke-opacity:1n\"
342+ 650-253-0001
343+ 650-253-000123434-45551221
344+ 650-253-000123434-45551221
345+ 650-253-000123434-455512213224hsaqer
332346"
333347expect=" \
334348(0,3)
@@ -486,14 +500,21 @@ expect="\
486500(2,5)
487501(3,9)
488502(0,102)(0,35)(36,38)(39,102)
503+ (0,102)(0,77)(78,80)(81,102)
504+ (0,102)(0,77)(78,80)(101,102)
489505(0,103)(0,1)(2,4)(5,103)
506+ (0,93)(0,89)(90,91)(92,93)
490507(0,93)(0,1)(2,4)(5,93)
491508(0,93)(0,1)(2,4)(5,92)(92,93)
492509(0,93)(0,1)(2,4)(5,93)
493510(0,93)(0,4)(5,5)(5,8)(9,93)(9,93)
494511(0,20)(0,7)(0,5)(0,5)(7,11)(12,15)(16,20)
495512(0,93)(0,1)(2,4)(85,93)
496513(0,93)(0,1)(2,4)(5,92)(?,?)(5,92)
514+ (0,12)(4,12)
515+ (0,26)(4,26)
516+ (0,26)(2,3)(4,26)
517+ (0,36)(0,3)(2,3)(3,4)(4,36)
497518(0,0)
498519"
499520
@@ -507,12 +528,16 @@ printf '%s\n' "$regex" | while read re; do
507528exp=$( printf' %s\n' " $expect " | awk -v c=$c ' BEGIN{ RS = "" ; FS = "\n" }{print $c}' )
508529var=$( ./a.out" $re " " $inp " )
509530if [" $1 " ]; then
510- printf ' %s\n' " $var "
531+ printf ' %s\n' " $var "
511532fi
512533var1=$( printf' %s\n' " $var " | tail -1)
513534if [! " $exp " = " $var1 " ]; then
514535printf ' %s\n' " fail test$c regex:$re input:$inp expect:$exp output:$var1 "
515- exit 1
536+ if [! " $1 " == 1 ]; then
537+ exit 1
538+ fi
539+ c=$(( c+ 1 ))
540+ continue
516541fi
517542time=$( printf' %s\n' " $var " | tail -2| head -n1)
518543printf ' %s\n' " pass test$c regex:$re input:$inp expect:$exp output:$var1 $time "