diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ChangeLog | 11 | ||||
-rw-r--r-- | test/Makefile.am | 7 | ||||
-rw-r--r-- | test/Makefile.in | 12 | ||||
-rw-r--r-- | test/Maketests | 5 | ||||
-rw-r--r-- | test/badbuild.awk | 6 | ||||
-rw-r--r-- | test/badbuild.in | 1 | ||||
-rw-r--r-- | test/badbuild.ok | 3 |
7 files changed, 41 insertions, 4 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 9b00b382..2787b909 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,14 @@ +2014-12-24 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (badbuild): New test. + * badbuild.awk, badbuild.in, badbuild.ok: New files. + +2014-12-24 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * Makefile.am (check): If tests don't pass, run 'make diffout' + and exit 1. Should help distros to notice when they have built + gawk incorrectly. (Can you say "Fedora", boys and girls?) + 2014-12-12 Arnold D. Robbins <arnold@skeeve.com> * profile5.ok: Updated after code changes. diff --git a/test/Makefile.am b/test/Makefile.am index a00e011e..7335da32 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -123,6 +123,9 @@ EXTRA_DIST = \ badargs.ok \ badassign1.awk \ badassign1.ok \ + badbuild.awk \ + badbuild.in \ + badbuild.ok \ beginfile1.awk \ beginfile1.ok \ beginfile2.in \ @@ -976,7 +979,7 @@ BASIC_TESTS = \ arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \ arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \ aryprm8 arysubnm asgext awkpath \ - back89 backgsub badassign1 \ + back89 backgsub badassign1 badbuild \ childin clobber closebad clsflnam compare compare2 concat1 concat2 \ concat3 concat4 convfmt \ datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ @@ -1102,7 +1105,7 @@ check: msg \ charset-msg-start charset-tests charset-msg-end \ shlib-msg-start shlib-tests shlib-msg-end \ mpfr-msg-start mpfr-tests mpfr-msg-end - @$(MAKE) pass-fail + @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; } basic: $(BASIC_TESTS) diff --git a/test/Makefile.in b/test/Makefile.in index 93a989b5..fa86fc7f 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -370,6 +370,9 @@ EXTRA_DIST = \ badargs.ok \ badassign1.awk \ badassign1.ok \ + badbuild.awk \ + badbuild.in \ + badbuild.ok \ beginfile1.awk \ beginfile1.ok \ beginfile2.in \ @@ -1222,7 +1225,7 @@ BASIC_TESTS = \ arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \ arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \ aryprm8 arysubnm asgext awkpath \ - back89 backgsub badassign1 \ + back89 backgsub badassign1 badbuild \ childin clobber closebad clsflnam compare compare2 concat1 concat2 \ concat3 concat4 convfmt \ datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ @@ -1530,7 +1533,7 @@ check: msg \ charset-msg-start charset-tests charset-msg-end \ shlib-msg-start shlib-tests shlib-msg-end \ mpfr-msg-start mpfr-tests mpfr-msg-end - @$(MAKE) pass-fail + @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; } basic: $(BASIC_TESTS) @@ -2553,6 +2556,11 @@ badassign1: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +badbuild: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + childin: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 85c13d5d..e1b92bf9 100644 --- a/test/Maketests +++ b/test/Maketests @@ -125,6 +125,11 @@ badassign1: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +badbuild: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + childin: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/badbuild.awk b/test/badbuild.awk new file mode 100644 index 00000000..12a6caeb --- /dev/null +++ b/test/badbuild.awk @@ -0,0 +1,6 @@ +$1 == $2 == $3 { + print "Gawk was built incorrectly." + print "Use bison, not byacc or something else!" + print "(Really, why aren't you using the awkgram.c in the distribution?)" + exit 42 +} diff --git a/test/badbuild.in b/test/badbuild.in new file mode 100644 index 00000000..560711d4 --- /dev/null +++ b/test/badbuild.in @@ -0,0 +1 @@ +a a 1 diff --git a/test/badbuild.ok b/test/badbuild.ok new file mode 100644 index 00000000..6d60f5a9 --- /dev/null +++ b/test/badbuild.ok @@ -0,0 +1,3 @@ +gawk: badbuild.awk:1: $1 == $2 == $3 { +gawk: badbuild.awk:1: ^ syntax error +EXIT CODE: 1 |