aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2019-04-18 20:15:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2019-04-18 20:15:15 +0300
commit9abeda33e7ce111a266d5e3ec4dafe65c26d5cd0 (patch)
tree68694f00d403866a7d64c606b93db56155aaf56f /test
parent33218616b4987c7afd860d0b3f4dad9cdb703547 (diff)
downloadegawk-9abeda33e7ce111a266d5e3ec4dafe65c26d5cd0.tar.gz
egawk-9abeda33e7ce111a266d5e3ec4dafe65c26d5cd0.tar.bz2
egawk-9abeda33e7ce111a266d5e3ec4dafe65c26d5cd0.zip
Fix core dump upon syntax error.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog2
-rw-r--r--test/Makefile.am4
-rw-r--r--test/Makefile.in9
-rw-r--r--test/Maketests5
-rw-r--r--test/synerr3.awk1
-rw-r--r--test/synerr3.ok5
6 files changed, 24 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index ef4f632c..a6398975 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,6 +1,8 @@
2019-04-18 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): Add ChangeLog.1 to the list. Ooops.
+ (synerr3): New test.
+ * synerr3.awk, synerr3.ok: New files.
2019-04-12 Arnold D. Robbins <arnold@skeeve.com>
diff --git a/test/Makefile.am b/test/Makefile.am
index a7e972af..8c794d62 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1188,6 +1188,8 @@ EXTRA_DIST = \
synerr1.ok \
synerr2.awk \
synerr2.ok \
+ synerr3.awk \
+ synerr3.ok \
tailrecurse.awk \
tailrecurse.ok \
testext.ok \
@@ -1311,7 +1313,7 @@ BASIC_TESTS = \
scalar sclforin sclifin setrec0 setrec1 \
sigpipe1 sortempty sortglos spacere splitargv splitarr \
splitdef splitvar splitwht status-close strcat1 strnum1 strnum2 strtod \
- subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 \
+ subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 synerr3 \
tailrecurse tradanch trailbs tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs uplus \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 305277e3..ee821c9a 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1447,6 +1447,8 @@ EXTRA_DIST = \
synerr1.ok \
synerr2.awk \
synerr2.ok \
+ synerr3.awk \
+ synerr3.ok \
tailrecurse.awk \
tailrecurse.ok \
testext.ok \
@@ -1570,7 +1572,7 @@ BASIC_TESTS = \
scalar sclforin sclifin setrec0 setrec1 \
sigpipe1 sortempty sortglos spacere splitargv splitarr \
splitdef splitvar splitwht status-close strcat1 strnum1 strnum2 strtod \
- subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 \
+ subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 synerr3 \
tailrecurse tradanch trailbs tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs uplus \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
@@ -3841,6 +3843,11 @@ synerr2:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+synerr3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
tailrecurse:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index e557cb2b..dadba2ee 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1104,6 +1104,11 @@ synerr2:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+synerr3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
tailrecurse:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/synerr3.awk b/test/synerr3.awk
new file mode 100644
index 00000000..49b9e30a
--- /dev/null
+++ b/test/synerr3.awk
@@ -0,0 +1 @@
+for (i = ) in foo bar baz
diff --git a/test/synerr3.ok b/test/synerr3.ok
new file mode 100644
index 00000000..b8b9dd89
--- /dev/null
+++ b/test/synerr3.ok
@@ -0,0 +1,5 @@
+gawk: synerr3.awk:1: for (i = ) in foo bar baz
+gawk: synerr3.awk:1: ^ syntax error
+gawk: synerr3.awk:1: for (i = ) in foo bar baz
+gawk: synerr3.awk:1: ^ syntax error
+EXIT CODE: 2