diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2013-06-27 11:54:01 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2013-06-27 11:54:01 +0300 |
commit | 8e9e1dfbc6c34a6d502d9738b651ae4c70806b1b (patch) | |
tree | 5ed23a17305b92af5d2716154437051c779a65a5 | |
parent | 70a3f6aad2edee778ce8bf1d8de0d19618af46bf (diff) | |
download | egawk-8e9e1dfbc6c34a6d502d9738b651ae4c70806b1b.tar.gz egawk-8e9e1dfbc6c34a6d502d9738b651ae4c70806b1b.tar.bz2 egawk-8e9e1dfbc6c34a6d502d9738b651ae4c70806b1b.zip |
New test case for dfa problem fixed earlier.
-rw-r--r-- | test/ChangeLog | 6 | ||||
-rw-r--r-- | test/Makefile.am | 11 | ||||
-rw-r--r-- | test/Makefile.in | 11 | ||||
-rw-r--r-- | test/dfamb1.awk | 4 | ||||
-rw-r--r-- | test/dfamb1.in | 1 | ||||
-rw-r--r-- | test/dfamb1.ok | 2 |
6 files changed, 33 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 2eada5aa..fcd922c1 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2013-06-27 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (dfamb1): New test. + * dfamb1.awk, dfamb1.in, dfamb1.ok: New files. + Test case from Steven Daniels <stevendaniels88@gmail.com>. + 2013-06-24 Arnold D. Robbins <arnold@skeeve.com> * Makefile.am (clos1way): Move to here since Maketests gets diff --git a/test/Makefile.am b/test/Makefile.am index fb73a76f..fe6d3a59 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -177,6 +177,9 @@ EXTRA_DIST = \ devfd1.awk \ devfd1.ok \ devfd2.ok \ + dfamb1.awk \ + dfamb1.in \ + dfamb1.ok \ dfastress.awk \ dfastress.ok \ double1.awk \ @@ -925,7 +928,7 @@ BASIC_TESTS = \ back89 backgsub \ childin clobber closebad clsflnam compare compare2 concat1 concat2 \ concat3 concat4 convfmt \ - datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \ + datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ eofsplit exit2 exitval1 exitval2 \ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ @@ -1838,6 +1841,12 @@ clos1way: @AWKPATH=$(srcdir) LC_ALL=C $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +dfamb1: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + # Targets generated for other tests: include Maketests diff --git a/test/Makefile.in b/test/Makefile.in index 5bb3e201..06946c0c 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -395,6 +395,9 @@ EXTRA_DIST = \ devfd1.awk \ devfd1.ok \ devfd2.ok \ + dfamb1.awk \ + dfamb1.in \ + dfamb1.ok \ dfastress.awk \ dfastress.ok \ double1.awk \ @@ -1142,7 +1145,7 @@ BASIC_TESTS = \ back89 backgsub \ childin clobber closebad clsflnam compare compare2 concat1 concat2 \ concat3 concat4 convfmt \ - datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \ + datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ eofsplit exit2 exitval1 exitval2 \ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ @@ -2231,6 +2234,12 @@ clos1way: @echo $@ @AWKPATH=$(srcdir) LC_ALL=C $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +dfamb1: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -f $@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: diff --git a/test/dfamb1.awk b/test/dfamb1.awk new file mode 100644 index 00000000..7647adf5 --- /dev/null +++ b/test/dfamb1.awk @@ -0,0 +1,4 @@ +# The first of these used to core dump gawk. As of 7/2013 it's fixed. +# This file is to make sure that remains true. +{match($0, /(([^ \?.]*\?pos=ad |([^ \?.]*\?pos=(jj|va) )地\?pos=dev ){0,2})/ , arr)} { if(arr[0]) print arr[1], arr[4], $6} +{match($0, /(([^ \?.]*\?pos=ad |([^ \?.]*\?pos=(jj|va) )[地]\?pos=dev ){0,2})/ , arr)} { if(arr[0]) print arr[1], arr[4], $6} diff --git a/test/dfamb1.in b/test/dfamb1.in new file mode 100644 index 00000000..8347590f --- /dev/null +++ b/test/dfamb1.in @@ -0,0 +1 @@ +很?pos=ad 宽广?pos=va , 更?pos=ad 是?pos=vc1 diff --git a/test/dfamb1.ok b/test/dfamb1.ok new file mode 100644 index 00000000..ad443a23 --- /dev/null +++ b/test/dfamb1.ok @@ -0,0 +1,2 @@ +很?pos=ad +很?pos=ad |