diff options
Diffstat (limited to 'test/Makefile.am')
-rw-r--r-- | test/Makefile.am | 398 |
1 files changed, 350 insertions, 48 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index f59aa52a..6c7eb147 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -47,8 +47,6 @@ EXTRA_DIST = \ anchgsub.awk \ anchgsub.in \ anchgsub.ok \ - arraysort.awk \ - arraysort.ok \ argarray.awk \ argarray.in \ argarray.ok \ @@ -62,6 +60,8 @@ EXTRA_DIST = \ arrayprm3.ok \ arrayref.awk \ arrayref.ok \ + arraysort.awk \ + arraysort.ok \ arrymem1.awk \ arrymem1.ok \ arryref2.awk \ @@ -158,10 +158,10 @@ EXTRA_DIST = \ defref.ok \ delargv.awk \ delargv.ok \ - delarprm.awk \ - delarprm.ok \ delarpm2.awk \ delarpm2.ok \ + delarprm.awk \ + delarprm.ok \ delfunc.awk \ delfunc.ok \ delsub.awk \ @@ -197,19 +197,22 @@ EXTRA_DIST = \ fcall_exit.awk \ fcall_exit.ok \ fcall_exit2.awk \ - fcall_exit2.ok \ fcall_exit2.in \ + fcall_exit2.ok \ fflush.ok \ fflush.sh \ fieldwdth.awk \ fieldwdth.in \ fieldwdth.ok \ + filefuncs.awk \ + filefuncs.ok \ fldchg.awk \ fldchg.in \ fldchg.ok \ fldchgnf.awk \ fldchgnf.in \ fldchgnf.ok \ + fmtspcl-mpfr.ok \ fmtspcl.awk \ fmtspcl.tok \ fmttest.awk \ @@ -220,7 +223,9 @@ EXTRA_DIST = \ fnarray.awk \ fnarray.ok \ fnarray2.awk \ + fnarray2.in \ fnarray2.ok \ + fnarydel-mpfr.ok \ fnarydel.awk \ fnarydel.ok \ fnaryscl.awk \ @@ -228,10 +233,23 @@ EXTRA_DIST = \ fnasgnm.awk \ fnasgnm.in \ fnasgnm.ok \ + fnmatch.awk \ + fnmatch.ok \ fnmisc.awk \ fnmisc.ok \ + fnparydl-mpfr.ok \ fnparydl.awk \ fnparydl.ok \ + fordel.awk \ + fordel.ok \ + fork.awk \ + fork.ok \ + fork2.awk \ + fork2.ok \ + forref.awk \ + forref.ok \ + forsimp.awk \ + forsimp.ok \ fpat1.awk \ fpat1.in \ fpat1.ok \ @@ -243,12 +261,6 @@ EXTRA_DIST = \ fpatnull.awk \ fpatnull.in \ fpatnull.ok \ - fordel.awk \ - fordel.ok \ - forref.awk \ - forref.ok \ - forsimp.awk \ - forsimp.ok \ fsbs.awk \ fsbs.in \ fsbs.ok \ @@ -264,6 +276,15 @@ EXTRA_DIST = \ fstabplus.awk \ fstabplus.in \ fstabplus.ok \ + fts.awk \ + functab1.awk \ + functab1.ok \ + functab2.awk \ + functab2.ok \ + functab3.awk \ + functab3.ok \ + functab4.awk \ + functab4.ok \ funlen.awk \ funlen.in \ funlen.ok \ @@ -342,6 +363,7 @@ EXTRA_DIST = \ gsubtst8.in \ gsubtst8.ok \ gtlnbufv.awk \ + hello.awk \ hex.awk \ hex.ok \ hsprint.awk \ @@ -351,22 +373,52 @@ EXTRA_DIST = \ icasers.awk \ icasers.in \ icasers.ok \ + id.awk \ + id.ok \ igncdym.awk \ igncdym.in \ igncdym.ok \ igncfs.awk \ igncfs.in \ igncfs.ok \ + ignrcas2.awk \ + ignrcas2.ok \ ignrcase.awk \ ignrcase.in \ ignrcase.ok \ - ignrcas2.awk \ - ignrcas2.ok \ + incdupe.ok \ + incdupe2.ok \ + incdupe3.ok \ + incdupe4.ok \ + incdupe5.ok \ + incdupe6.ok \ + incdupe7.ok \ + inchello.awk \ + inclib.awk \ + include.awk \ + include.ok \ + include2.ok \ indirectcall.awk \ indirectcall.in \ indirectcall.ok \ inftest.awk \ inftest.ok \ + inplace.in \ + inplace.1.in \ + inplace.2.in \ + inplace1.ok \ + inplace1.1.ok \ + inplace1.2.ok \ + inplace2.ok \ + inplace2.1.ok \ + inplace2.1.bak.ok \ + inplace2.2.ok \ + inplace2.2.bak.ok \ + inplace3.ok \ + inplace3.1.ok \ + inplace3.1.bak.ok \ + inplace3.2.ok \ + inplace3.2.bak.ok \ inputred.awk \ inputred.ok \ intest.awk \ @@ -406,8 +458,8 @@ EXTRA_DIST = \ longsub.in \ longsub.ok \ longwrds.awk \ - longwrds.ok \ longwrds.in \ + longwrds.ok \ manglprm.awk \ manglprm.in \ manglprm.ok \ @@ -443,6 +495,19 @@ EXTRA_DIST = \ minusstr.ok \ mixed1.ok \ mmap8k.in \ + mpfrbigint.awk \ + mpfrbigint.ok \ + mpfrexprange.awk \ + mpfrexprange.ok \ + mpfrieee.awk \ + mpfrieee.ok \ + mpfrnr.awk \ + mpfrnr.in \ + mpfrnr.ok \ + mpfrrnd.awk \ + mpfrrnd.ok \ + mpfrsort.awk \ + mpfrsort.ok \ mtchi18n.awk \ mtchi18n.in \ mtchi18n.ok \ @@ -533,6 +598,9 @@ EXTRA_DIST = \ opasnidx.ok \ opasnslf.awk \ opasnslf.ok \ + ordchr.awk \ + ordchr.ok \ + ordchr2.ok \ out1.ok \ out2.ok \ out3.ok \ @@ -573,9 +641,6 @@ EXTRA_DIST = \ prdupval.awk \ prdupval.in \ prdupval.ok \ - profile2.ok \ - profile3.awk \ - profile3.ok \ prec.awk \ prec.ok \ printf0.awk \ @@ -597,21 +662,30 @@ EXTRA_DIST = \ prmreuse.ok \ procinfs.awk \ procinfs.ok \ + profile2.ok \ + profile3.awk \ + profile3.ok \ prt1eval.awk \ prt1eval.ok \ prtoeval.awk \ prtoeval.ok \ pty1.awk \ pty1.ok \ + rand-mpfr.ok \ rand.awk \ rand.ok \ range1.awk \ range1.in \ range1.ok \ + readdir.awk \ + readdir0.awk \ rebt8b1.awk \ rebt8b1.ok \ rebt8b2.awk \ rebt8b2.ok \ + rebuf.awk \ + rebuf.in \ + rebuf.ok \ redfilnm.awk \ redfilnm.in \ redfilnm.ok \ @@ -627,9 +701,6 @@ EXTRA_DIST = \ regtest.sh \ regx8bit.awk \ regx8bit.ok \ - rebuf.awk \ - rebuf.in \ - rebuf.ok \ reindops.awk \ reindops.in \ reindops.ok \ @@ -645,6 +716,10 @@ EXTRA_DIST = \ resplit.awk \ resplit.in \ resplit.ok \ + revout.awk \ + revout.ok \ + revtwoway.awk \ + revtwoway.ok \ rri1.awk \ rri1.in \ rri1.ok \ @@ -680,8 +755,12 @@ EXTRA_DIST = \ rswhite.ok \ rtlen.ok \ rtlen.sh \ + rtlenmb.ok \ rtlen01.ok \ rtlen01.sh \ + rwarray.awk \ + rwarray.in \ + rwarray.ok \ scalar.awk \ scalar.ok \ sclforin.awk \ @@ -720,16 +799,16 @@ EXTRA_DIST = \ sprintfc.ok \ strcat1.awk \ strcat1.ok \ + strftime.awk \ + strftlng.awk \ + strftlng.ok \ + strnum1.awk \ + strnum1.ok \ strtod.awk \ strtod.in \ strtod.ok \ - strnum1.awk \ - strnum1.ok \ strtonum.awk \ strtonum.ok \ - strftime.awk \ - strftlng.awk \ - strftlng.ok \ subamp.awk \ subamp.in \ subamp.ok \ @@ -746,10 +825,35 @@ EXTRA_DIST = \ swaplns.ok \ switch2.awk \ switch2.ok \ + symtab1.awk \ + symtab1.ok \ + symtab2.awk \ + symtab2.ok \ + symtab3.awk \ + symtab3.ok \ + symtab4.awk \ + symtab4.in \ + symtab4.ok \ + symtab5.awk \ + symtab5.in \ + symtab5.ok \ + symtab6.awk \ + symtab6.ok \ + symtab7.awk \ + symtab7.in \ + symtab7.ok \ + symtab8.awk \ + symtab8.in \ + symtab8.ok \ + symtab9.awk \ + symtab9.ok \ synerr1.awk \ synerr1.ok \ synerr2.awk \ synerr2.ok \ + testext.ok \ + time.awk \ + time.ok \ tradanch.awk \ tradanch.in \ tradanch.ok \ @@ -797,6 +901,7 @@ EXTRA_DIST = \ zeroflag.awk \ zeroflag.ok + TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl # Get rid of core files when cleaning and generated .ok file @@ -850,9 +955,12 @@ GAWK_EXT_TESTS = \ backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ + functab1 functab2 functab3 functab4 \ fwtest fwtest2 fwtest3 \ gensub gensub2 getlndir gnuops2 gnuops3 gnureops \ - icasefs icasers igncdym igncfs ignrcas2 ignrcase indirectcall \ + icasefs icasers id igncdym igncfs ignrcas2 ignrcase \ + incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \ + include include2 indirectcall \ lint lintold lintwarn \ manyfiles match1 match2 match3 mbstr1 \ nastyparm next nondec nondec2 \ @@ -860,7 +968,9 @@ GAWK_EXT_TESTS = \ profile1 profile2 profile3 pty1 \ rebuf regx8bit reginttrad reint reint2 rsstart1 \ rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \ - strtonum switch2 + strtonum switch2 \ + symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 symtab7 \ + symtab8 symtab9 EXTRA_TESTS = inftest regtest @@ -868,10 +978,16 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht MACHINE_TESTS = double1 double2 fmtspcl intformat +MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint + LOCALE_CHARSET_TESTS = \ asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc +SHLIB_TESTS = \ + fnmatch filefuncs fork fork2 fts inplace1 inplace2 inplace3 \ + ordchr ordchr2 readdir readfile revout revtwoway rwarray testext time + # List of the tests which should be run with --lint option: NEED_LINT = \ defref fmtspcl lintwarn noeffect nofmtch shadow \ @@ -884,20 +1000,29 @@ NEED_LINT_OLD = lintold FAIL_CODE1 = \ fnarray2 fnmisc gsubasgn mixed1 noparms paramdup synerr1 synerr2 unterm +# List of files which have .ok versions for MPFR +CHECK_MPFR = \ + rand fnarydel fnparydl + # List of the files that appear in manual tests or are for reserve testing: -GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk +GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk inclib.awk hello.awk CMP = cmp AWKPROG = ../gawk$(EXEEXT) -PGAWKPROG = ../pgawk$(EXEEXT) + +# Default for VALGRIND is empty unless overridden by a command-line argument. +# This protects against cruft in the environment. +VALGRIND = # This business forces the locale to be C for running the tests, # unless we override it to something else for testing. # # This can also be done in individual tests where we wish to # check things specifically not in the C locale. -AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} $(AWKPROG) -PGAWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} $(PGAWKPROG) + +# +# And we set AWKLIBPATH to find the extension libraries we built. +AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} AWKLIBPATH=../extension/.libs $(VALGRIND) $(AWKPROG) # Message stuff is to make it a little easier to follow. # Make the pass-fail last and dependent on others to avoid @@ -908,7 +1033,9 @@ check: msg \ unix-msg-start unix-tests unix-msg-end \ extend-msg-start gawk-extensions extend-msg-end \ machine-msg-start machine-tests machine-msg-end \ - charset-msg-start charset-tests charset-msg-end + 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 basic: $(BASIC_TESTS) @@ -925,6 +1052,20 @@ inet: inetmesg $(INET_TESTS) machine-tests: $(MACHINE_TESTS) +mpfr-tests: + @if $(AWK) --version | $(AWK) '/MPFR/ { exit 1 }' ; then \ + echo MPFR tests not supported on this system ; \ + else $(MAKE) $(MPFR_TESTS) ; \ + fi + +shlib-tests: + @if grep 'DYNAMIC 1' $(top_builddir)/config.h > /dev/null ; then \ + $(MAKE) shlib-real-tests ; \ + else echo shlib tests not supported on this system ; \ + fi + +shlib-real-tests: $(SHLIB_TESTS) + msg:: @echo '' @echo 'Any output from "cmp" is bad news, although some differences' @@ -965,6 +1106,18 @@ charset-msg-start: charset-msg-end: @echo "======== Done with tests that can vary based on character set or locale support ========" +shlib-msg-start: + @echo "======== Starting shared library tests ========" + +shlib-msg-end: + @echo "======== Done with shared library tests ========" + +mpfr-msg-start: + @echo "======== Starting MPFR tests ========" + +mpfr-msg-end: + @echo "======== Done with MPFR tests ========" + lc_num1: @echo $@ @@ -993,8 +1146,8 @@ poundbang:: messages:: @echo $@ - @$(AWK) -f $(srcdir)/messages.awk >out2 2>out3 - @-$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3 + @$(AWK) -f $(srcdir)/messages.awk >_out2 2>_out3 + @-$(CMP) $(srcdir)/out1.ok _out1 && $(CMP) $(srcdir)/out2.ok _out2 && $(CMP) $(srcdir)/out3.ok _out3 && rm -f _out1 _out2 _out3 argarray:: @echo $@ @@ -1094,7 +1247,7 @@ tweakfld:: mmap8k:: @echo $@ @$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@ - @-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ || cp $(srcdir)/$@.in $@.ok tradanch:: @echo $@ @@ -1125,9 +1278,11 @@ fmtspcl.ok: fmtspcl.tok Makefile @$(AWK) -v "sd=$(srcdir)" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan = sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); sub(/fmtspcl/,(sd"/fmtspcl")); print}' < $(srcdir)/fmtspcl.tok > $@ 2>/dev/null fmtspcl: fmtspcl.ok - @echo fmtspcl - @$(AWK) -f $(srcdir)/fmtspcl.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ - @-$(CMP) $@.ok _$@ && rm -f _$@ + @echo $@ + @$(AWK) $(AWKFLAGS) -f $(srcdir)/fmtspcl.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-if test -z "$$AWKFLAGS" ; then $(CMP) $@.ok _$@ && rm -f _$@ ; else \ + $(CMP) $(srcdir)/$@-mpfr.ok _$@ && rm -f _$@ ; \ + fi reint:: @echo $@ @@ -1315,7 +1470,7 @@ rtlenmb:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@ - @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ nondec2:: @echo $@ @@ -1422,7 +1577,7 @@ beginfile1:: beginfile2: @echo $@ - @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(srcdir)/$@.sh $(srcdir)/$@.in ) > _$@ 2>&1 + @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(abs_srcdir)/$@.sh $(abs_srcdir)/$@.in ) > _$@ 2>&1 @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ dumpvars:: @@ -1433,19 +1588,21 @@ dumpvars:: profile1: @echo $@ - @$(AWK) --profile=ap-$@.out -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1 + @$(AWK) --pretty-print=ap-$@.out -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > _$@.out1 @$(AWK) -f ap-$@.out $(srcdir)/dtdgport.awk > _$@.out2 ; rm ap-$@.out - @cmp _$@.out1 _$@.out2 && rm _$@.out[12] || echo EXIT CODE: $$? >>_$@ + @$(CMP) _$@.out1 _$@.out2 && rm _$@.out[12] || { echo EXIT CODE: $$? >>_$@ ; \ + cp $(srcdir)/dtdgport.awk > $@.ok ; } + profile2: @echo $@ - @$(PGAWK) --profile=ap-$@.out -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null + @$(AWK) --profile=ap-$@.out -v sortcmd=sort -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ profile3: @echo $@ - @$(PGAWK) --profile=ap-$@.out -f $(srcdir)/$@.awk > /dev/null + @$(AWK) --profile=ap-$@.out -f $(srcdir)/$@.awk > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ @@ -1470,11 +1627,141 @@ rri1:: AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +mpfrieee: + @echo $@ + @$(AWK) -M -vPREC=double -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrexprange: + @echo $@ + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrrnd: + @echo $@ + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrnr: + @echo $@ + @$(AWK) -M -vPREC=113 -f $(srcdir)/$@.awk $(srcdir)/$@.in > _$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrsort: + @echo $@ + @$(AWK) -M -vPREC=53 -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +mpfrbigint: + @echo $@ + @$(AWK) -M -f $(srcdir)/$@.awk > _$@ 2>&1 + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + jarebug:: @echo $@ @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ordchr2:: + @echo $@ + @$(AWK) -l ordchr 'BEGIN {print chr(ord("z"))}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +# N.B. If the test fails, create readfile.ok so that "make diffout" will work +readfile:: + @echo $@ + @$(AWK) -l readfile 'BEGIN {printf "%s", readfile("Makefile")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) Makefile _$@ && rm -f _$@ || cp -p Makefile $@.ok + +include2:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) -i inclib 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -i inclib -i inclib.awk 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe2:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -f inclib -f inclib.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe3:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -f hello -f hello.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe4:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -f hello -i hello.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe5:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -i hello -f hello.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe6:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -i inchello -f hello.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +incdupe7:: + @echo $@ + @AWKPATH=$(srcdir) $(AWK) --lint -f hello -i inchello >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +inplace1:: + @echo $@ + @cp $(srcdir)/inplace.1.in _$@.1 + @cp $(srcdir)/inplace.2.in _$@.2 + @AWKPATH=$(srcdir)/../awklib/eg/lib $(AWK) -i inplace 'BEGIN {print "before"} {gsub(/foo/, "bar"); print} END {print "after"}' _$@.1 - _$@.2 < $(srcdir)/inplace.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/$@.1.ok _$@.1 && rm -f _$@.1 + @-$(CMP) $(srcdir)/$@.2.ok _$@.2 && rm -f _$@.2 + +inplace2:: + @echo $@ + @cp $(srcdir)/inplace.1.in _$@.1 + @cp $(srcdir)/inplace.2.in _$@.2 + @AWKPATH=$(srcdir)/../awklib/eg/lib $(AWK) -i inplace -v INPLACE_SUFFIX=.bak 'BEGIN {print "before"} {gsub(/foo/, "bar"); print} END {print "after"}' _$@.1 - _$@.2 < $(srcdir)/inplace.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/$@.1.ok _$@.1 && rm -f _$@.1 + @-$(CMP) $(srcdir)/$@.1.bak.ok _$@.1.bak && rm -f _$@.1.bak + @-$(CMP) $(srcdir)/$@.2.ok _$@.2 && rm -f _$@.2 + @-$(CMP) $(srcdir)/$@.2.bak.ok _$@.2.bak && rm -f _$@.2.bak + +inplace3:: + @echo $@ + @cp $(srcdir)/inplace.1.in _$@.1 + @cp $(srcdir)/inplace.2.in _$@.2 + @AWKPATH=$(srcdir)/../awklib/eg/lib $(AWK) -i inplace -v INPLACE_SUFFIX=.bak 'BEGIN {print "before"} {gsub(/foo/, "bar"); print} END {print "after"}' _$@.1 - _$@.2 < $(srcdir)/inplace.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @AWKPATH=$(srcdir)/../awklib/eg/lib $(AWK) -i inplace -v INPLACE_SUFFIX=.bak 'BEGIN {print "Before"} {gsub(/bar/, "foo"); print} END {print "After"}' _$@.1 - _$@.2 < $(srcdir)/inplace.in >>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/$@.1.ok _$@.1 && rm -f _$@.1 + @-$(CMP) $(srcdir)/$@.1.bak.ok _$@.1.bak && rm -f _$@.1.bak + @-$(CMP) $(srcdir)/$@.2.ok _$@.2 && rm -f _$@.2 + @-$(CMP) $(srcdir)/$@.2.bak.ok _$@.2.bak && rm -f _$@.2.bak + +testext:: + @echo $@ + @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > testext.awk + @$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ testext.awk + +readdir: + @echo $@ + @$(AWK) -f $(srcdir)/readdir.awk $(top_srcdir) > _$@ + @ls -fli $(top_srcdir) | sed 1d | $(AWK) -f $(srcdir)/readdir0.awk -v extout=_$@ > $@.ok + @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ + +fts: + @echo $@ + @$(AWK) -f $(srcdir)/fts.awk + @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ + charasbytes: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ @@ -1482,9 +1769,22 @@ charasbytes: od -c -t x1 | sed -e 's/ */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +symtab6: + @echo $@ + @$(AWK) -d__$@ -f $(srcdir)/$@.awk + @grep -v '^ENVIRON' __$@ | grep -v '^PROCINFO' > _$@ ; rm __$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +symtab8: + @echo $@ + @$(AWK) -d__$@ -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ + @grep -v '^ENVIRON' __$@ | grep -v '^PROCINFO' | grep -v '^FILENAME' >> _$@ ; rm __$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + reginttrad: @echo $@ - @$(AWK) --traditional -r -f $@.awk > _$@ + @$(AWK) --traditional -r -f $(srcdir)/$@.awk > _$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ # Targets generated for other tests: @@ -1495,7 +1795,9 @@ $(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests $(AWK) -f $(srcdir)/Gentests "$(srcdir)/Makefile.am" $$files > $(srcdir)/Maketests clean: - rm -fr _* core core.* fmtspcl.ok junk out1 out2 out3 strftime.ok test1 test2 seq *~ + rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 \ + seq *~ readfile.ok fork.tmp.* testext.awk fts.ok readdir.ok \ + mmap8k.ok profile1.ok # An attempt to print something that can be grepped for in build logs pass-fail: @@ -1526,8 +1828,8 @@ valgrind-scan: function show() {if (cmd) {printf "%s: %s\n",FILENAME,cmd; cmd = ""}; \ printf "\t%s\n",$$0}; \ {$$1 = ""}; \ - /Prog and args are:/ {incmd = 1; cmd = ""; next}; \ - incmd {if (NF == 1) incmd = 0; else {cmd = (cmd $$0); next}}; \ + $$2 == "Command:" {incmd = 1; $$2 = ""; cmd = $$0; next}; \ + incmd {if (/Parent PID:/) incmd = 0; else {cmd = (cmd $$0); next}}; \ /ERROR SUMMARY:/ && !/: 0 errors from 0 contexts/ {show()}; \ /definitely lost:/ && !/: 0 bytes in 0 blocks/ {show()}; \ /possibly lost:/ && !/: 0 bytes in 0 blocks/ {show()}; \ |