# # test/Makefile.am --- automake input file for gawk # # Copyright (C) 1988-2017 the Free Software Foundation, Inc. # # This file is part of GAWK, the GNU implementation of the # AWK Programming Language. # # GAWK is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # GAWK is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # ## process this file with automake to produce Makefile.in EXTRA_DIST = \ reg \ lib \ ChangeLog.0 \ Gentests \ Gentests.vms \ Maketests \ README \ aadelete1.awk \ aadelete1.ok \ aadelete2.awk \ aadelete2.ok \ aarray1.awk \ aarray1.ok \ aasort.awk \ aasort.ok \ aasorti.awk \ aasorti.ok \ addcomma.awk \ addcomma.in \ addcomma.ok \ anchgsub.awk \ anchgsub.in \ anchgsub.ok \ anchor.awk \ anchor.in \ anchor.ok \ apiterm.awk \ apiterm.in \ apiterm.ok \ argarray.awk \ argarray.in \ argarray.ok \ argtest.awk \ argtest.ok \ arrayind1.awk \ arrayind1.in \ arrayind1.ok \ arrayind2.awk \ arrayind2.ok \ arrayind3.awk \ arrayind3.ok \ arrayparm.awk \ arrayparm.ok \ arrayprm2.awk \ arrayprm2.ok \ arrayprm3.awk \ arrayprm3.ok \ arrayref.awk \ arrayref.ok \ arraysort.awk \ arraysort.ok \ arrdbg.awk \ arrymem1.awk \ arrymem1.ok \ arryref2.awk \ arryref2.ok \ arryref3.awk \ arryref3.ok \ arryref4.awk \ arryref4.ok \ arryref5.awk \ arryref5.ok \ arynasty.awk \ arynasty.ok \ arynocls.awk \ arynocls.in \ arynocls.ok \ aryprm1.awk \ aryprm1.ok \ aryprm2.awk \ aryprm2.ok \ aryprm3.awk \ aryprm3.ok \ aryprm4.awk \ aryprm4.ok \ aryprm5.awk \ aryprm5.ok \ aryprm6.awk \ aryprm6.ok \ aryprm7.awk \ aryprm7.ok \ aryprm8.awk \ aryprm8.ok \ aryprm9.awk \ aryprm9.ok \ arysubnm.awk \ arysubnm.ok \ aryunasgn.awk \ aryunasgn.ok \ asgext.awk \ asgext.in \ asgext.ok \ asort.awk \ asort.ok \ asorti.awk \ asorti.ok \ assignnumfield.awk \ assignnumfield.in \ assignnumfield.ok \ awkpath.ok \ back89.awk \ back89.in \ back89.ok \ backgsub.awk \ backgsub.in \ backgsub.ok \ backw.awk \ backw.in \ backw.ok \ backbigs1.awk \ backbigs1.in \ backbigs1.ok \ backsmalls1.awk \ backsmalls1.in \ backsmalls1.ok \ backsmalls2.awk \ backsmalls2.ok \ badargs.ok \ badassign1.awk \ badassign1.ok \ badbuild.awk \ badbuild.in \ badbuild.ok \ beginfile1.awk \ beginfile1.ok \ beginfile2.in \ beginfile2.ok \ beginfile2.sh \ binmode1.ok \ callparam.awk \ callparam.ok \ charasbytes.awk \ charasbytes.in \ charasbytes.ok \ checknegtime.awk \ childin.awk \ childin.in \ childin.ok \ clobber.awk \ clobber.ok \ clos1way.awk \ clos1way.ok \ clos1way2.awk \ clos1way2.in \ clos1way2.ok \ clos1way3.awk \ clos1way3.ok \ clos1way4.awk \ clos1way4.ok \ clos1way5.awk \ clos1way5.ok \ clos1way6.awk \ clos1way6.ok \ closebad.awk \ closebad.ok \ clsflnam.awk \ clsflnam.in \ clsflnam.ok \ colonwarn.awk \ colonwarn.in \ colonwarn.ok \ compare.awk \ compare.in \ compare.ok \ compare2.awk \ compare2.ok \ concat1.awk \ concat1.in \ concat1.ok \ concat2.awk \ concat2.ok \ concat3.awk \ concat3.ok \ concat4.awk \ concat4.in \ concat4.ok \ concat5.awk \ concat5.ok \ convfmt.awk \ convfmt.ok \ crlf.awk \ crlf.ok \ datanonl.awk \ datanonl.in \ datanonl.ok \ dbugeval.in \ dbugeval.ok \ dbugeval2.awk \ dbugeval2.in \ dbugeval2.ok \ dbugtypedre1.awk \ dbugtypedre1.in \ dbugtypedre1.ok \ dbugtypedre2.awk \ dbugtypedre2.in \ dbugtypedre2.ok \ defref.awk \ defref.ok \ delargv.awk \ delargv.ok \ delarpm2.awk \ delarpm2.ok \ delarprm.awk \ delarprm.ok \ delfunc.awk \ delfunc.ok \ delsub.awk \ delsub.ok \ devfd.in1 \ devfd.in2 \ devfd.in4 \ devfd.in5 \ devfd.ok \ devfd1.awk \ devfd1.ok \ devfd2.ok \ dfamb1.awk \ dfamb1.in \ dfamb1.ok \ dfastress.awk \ dfastress.ok \ double1.awk \ double1.ok \ double2.awk \ double2.ok \ dtdgport.awk \ dumpvars.in \ dumpvars.ok \ dynlj.awk \ dynlj.ok \ eofsplit.awk \ eofsplit.ok \ errno.awk \ errno.in \ errno.ok \ exit.ok \ exit.sh \ exit2.awk \ exit2.ok \ exitval1.awk \ exitval1.ok \ exitval2.awk \ exitval2.ok \ exitval2.w32 \ exitval3.awk \ exitval3.ok \ fcall_exit.awk \ fcall_exit.ok \ fcall_exit2.awk \ 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 \ fldterm.awk \ fldterm.in \ fldterm.ok \ fmtspcl-mpfr.ok \ fmtspcl.awk \ fmtspcl.tok \ fmttest.awk \ fmttest.ok \ fnamedat.awk \ fnamedat.in \ fnamedat.ok \ fnarray.awk \ fnarray.ok \ fnarray2.awk \ fnarray2.in \ fnarray2.ok \ fnarydel-mpfr.ok \ fnarydel.awk \ fnarydel.ok \ fnaryscl.awk \ fnaryscl.ok \ fnasgnm.awk \ fnasgnm.in \ fnasgnm.ok \ fnmatch.awk \ fnmatch.ok \ fnmisc.awk \ fnmisc.ok \ fnparydl-mpfr.ok \ fnparydl.awk \ fnparydl.ok \ forcenum.awk \ forcenum.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 \ fpat2.awk \ fpat2.ok \ fpat3.awk \ fpat3.in \ fpat3.ok \ fpat4.awk \ fpat4.ok \ fpat5.awk \ fpat5.in \ fpat5.ok \ fpat6.awk \ fpat6.in \ fpat6.ok \ fpatnull.awk \ fpatnull.in \ fpatnull.ok \ fsbs.awk \ fsbs.in \ fsbs.ok \ fsfwfs.awk \ fsfwfs.in \ fsfwfs.ok \ fsnul1.awk \ fsnul1.in \ fsnul1.ok \ fsrs.awk \ fsrs.in \ fsrs.ok \ fsspcoln.awk \ fsspcoln.in \ fsspcoln.ok \ 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 \ funsemnl.awk \ funsemnl.ok \ funsmnam.awk \ funsmnam.ok \ funstack.awk \ funstack.in \ funstack.ok \ fwtest.awk \ fwtest.in \ fwtest.ok \ fwtest2.awk \ fwtest2.in \ fwtest2.ok \ fwtest3.awk \ fwtest3.ok \ fwtest4.awk \ fwtest4.in \ fwtest4.ok \ fwtest5.awk \ fwtest5.in \ fwtest5.ok \ fwtest6.awk \ fwtest6.in \ fwtest6.ok \ fwtest7.awk \ fwtest7.in \ fwtest7.ok \ fwtest8.awk \ fwtest8.in \ fwtest8.ok \ genpot.awk \ genpot.ok \ gensub.awk \ gensub.in \ gensub.ok \ gensub2.awk \ gensub2.ok \ gensub3.awk \ gensub3.in \ gensub3.ok \ getfile.awk \ getfile.ok \ getline.awk \ getline.in \ getline.ok \ getline2.awk \ getline2.ok \ getline3.awk \ getline3.ok \ getline4.awk \ getline4.in \ getline4.ok \ getline5.awk \ getline5.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ getlndir.awk \ getlndir.ok \ getlnhd.awk \ getlnhd.ok \ getnr2tb.awk \ getnr2tb.in \ getnr2tb.ok \ getnr2tm.awk \ getnr2tm.in \ getnr2tm.ok \ gnuops2.awk \ gnuops2.ok \ gnuops3.awk \ gnuops3.ok \ gnureops.awk \ gnureops.ok \ gsubasgn.awk \ gsubasgn.ok \ gsubind.awk \ gsubind.ok \ gsubtest.awk \ gsubtest.ok \ gsubtst2.awk \ gsubtst2.ok \ gsubtst3.awk \ gsubtst3.in \ gsubtst3.ok \ gsubtst4.awk \ gsubtst4.ok \ gsubtst5.awk \ gsubtst5.in \ gsubtst5.ok \ gsubtst6.awk \ gsubtst6.ok \ gsubtst7.awk \ gsubtst7.in \ gsubtst7.ok \ gsubtst8.awk \ gsubtst8.in \ gsubtst8.ok \ gtlnbufv.awk \ hello.awk \ hex.awk \ hex.ok \ hex2.awk \ hex2.in \ hex2.ok \ hsprint.awk \ hsprint.ok \ icasefs.awk \ icasefs.ok \ icasers.awk \ icasers.in \ icasers.ok \ inpref.awk \ inpref.in \ inpref.ok \ id.awk \ id.ok \ igncdym.awk \ igncdym.in \ igncdym.ok \ igncfs.awk \ igncfs.in \ igncfs.ok \ ignrcas2.awk \ ignrcas2.ok \ ignrcas3.awk \ ignrcas3.ok \ ignrcas4.awk \ ignrcas4.ok \ ignrcase.awk \ ignrcase.in \ ignrcase.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 \ indirectbuiltin.awk \ indirectbuiltin.ok \ indirectcall.awk \ indirectcall.in \ indirectcall.ok \ indirectcall2.awk \ indirectcall2.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 \ intarray.awk \ intarray.ok \ intest.awk \ intest.ok \ intformat.awk \ intformat.ok \ intprec.awk \ intprec.ok \ iobug1.awk \ iobug1.ok \ isarrayunset.awk \ isarrayunset.ok \ jarebug.awk \ jarebug.in \ jarebug.ok \ jarebug.sh \ lc_num1.awk \ lc_num1.ok \ leaddig.awk \ leaddig.ok \ leadnl.awk \ leadnl.in \ leadnl.ok \ lint.awk \ lint.ok \ lintexp.awk \ lintexp.ok \ lintindex.awk \ lintindex.ok \ lintint.awk \ lintint.ok \ lintlength.awk \ lintlength.ok \ lintold.awk \ lintold.in \ lintold.ok \ lintset.awk \ lintset.ok \ lintwarn.awk \ lintwarn.ok \ litoct.awk \ litoct.ok \ localenl.ok \ localenl.sh \ longdbl.awk \ longdbl.in \ longdbl.ok \ longsub.awk \ longsub.in \ longsub.ok \ longwrds.awk \ longwrds.in \ longwrds.ok \ manglprm.awk \ manglprm.in \ manglprm.ok \ manyfiles.awk \ manyfiles.ok \ muldimposix.awk \ muldimposix.ok \ match1.awk \ match1.ok \ match2.awk \ match2.ok \ match3.awk \ match3.in \ match3.ok \ math.awk \ math.ok \ mbfw1.awk \ mbfw1.in \ mbfw1.ok \ mbprintf1.awk \ mbprintf1.in \ mbprintf1.ok \ mbprintf2.awk \ mbprintf2.ok \ mbprintf3.awk \ mbprintf3.in \ mbprintf3.ok \ mbprintf4.awk \ mbprintf4.in \ mbprintf4.ok \ mbprintf5.awk \ mbprintf5.in \ mbprintf5.ok \ mbstr1.awk \ mbstr1.ok \ mbstr2.awk \ mbstr2.in \ mbstr2.ok \ membug1.awk \ membug1.in \ membug1.ok \ memleak.awk \ memleak.ok \ messages.awk \ minusstr.awk \ minusstr.ok \ mixed1.ok \ mktime.awk \ mktime.in \ mktime.ok \ mmap8k.in \ mpfrbigint.awk \ mpfrbigint.ok \ mpfrexprange.awk \ mpfrexprange.ok \ mpfrieee.awk \ mpfrieee.ok \ mpfrmemok1.awk \ mpfrmemok1.ok \ mpfrnegzero.awk \ mpfrnegzero.ok \ mpfrnr.awk \ mpfrnr.in \ mpfrnr.ok \ mpfrrem.awk \ mpfrrem.ok \ mpfrrnd.awk \ mpfrrnd.ok \ mpfrrndeval.awk \ mpfrrndeval.ok \ mpfrsort.awk \ mpfrsort.ok \ mpfrsqrt.awk \ mpfrsqrt.ok \ mpfrstrtonum.awk \ mpfrstrtonum.ok \ mpfruplus.ok \ mpgforcenum.awk \ mpgforcenum.ok \ mtchi18n.awk \ mtchi18n.in \ mtchi18n.ok \ nasty.awk \ nasty.ok \ nasty2.awk \ nasty2.ok \ nastyparm.awk \ nastyparm.ok \ negexp.awk \ negexp.ok \ negrange.awk \ negrange.ok \ negtime.awk \ negtime.ok \ nested.awk \ nested.in \ nested.ok \ next.ok \ next.sh \ nfldstr.awk \ nfldstr.in \ nfldstr.ok \ nfloop.awk \ nfloop.ok \ nfneg.awk \ nfneg.ok \ nfset.awk \ nfset.in \ nfset.ok \ nlfldsep.awk \ nlfldsep.in \ nlfldsep.ok \ nlinstr.awk \ nlinstr.in \ nlinstr.ok \ nlstrina.awk \ nlstrina.ok \ nlstringtest.awk \ nlstringtest.ok \ nlstringtest.po \ fr \ noeffect.awk \ noeffect.ok \ nofile.ok \ nofmtch.awk \ nofmtch.ok \ noloop1.awk \ noloop1.in \ noloop1.ok \ noloop2.awk \ noloop2.in \ noloop2.ok \ nondec.awk \ nondec.ok \ nondec2.awk \ nondec2.ok \ nonfatal1.awk \ nonfatal1.ok \ nonfatal2.awk \ nonfatal2.ok \ nonfatal3.awk \ nonfatal3.ok \ nonl.awk \ nonl.ok \ noparms.awk \ noparms.ok \ nors.in \ nors.ok \ nulinsrc.awk \ nulinsrc.ok \ nulrsend.awk \ nulrsend.in \ nulrsend.ok \ numindex.awk \ numindex.in \ numindex.ok \ numstr1.awk \ numstr1.ok \ numsubstr.awk \ numsubstr.in \ numsubstr.ok \ octsub.awk \ octsub.ok \ ofmt.awk \ ofmt.in \ ofmt.ok \ ofmta.awk \ ofmta.ok \ ofmtbig.awk \ ofmtbig.in \ ofmtbig.ok \ ofmtfidl.awk \ ofmtfidl.in \ ofmtfidl.ok \ ofmts.awk \ ofmts.in \ ofmts.ok \ ofmtstrnum.awk \ ofmtstrnum.ok \ ofs1.awk \ ofs1.in \ ofs1.ok \ onlynl.awk \ onlynl.in \ onlynl.ok \ opasnidx.awk \ opasnidx.ok \ opasnslf.awk \ opasnslf.ok \ ordchr.awk \ ordchr.ok \ ordchr2.ok \ out1.ok \ out2.ok \ out3.ok \ paramasfunc1.awk \ paramasfunc1.ok \ paramasfunc2.awk \ paramasfunc2.ok \ paramdup.awk \ paramdup.ok \ paramres.awk \ paramres.ok \ paramtyp.awk \ paramtyp.ok \ paramuninitglobal.awk \ paramuninitglobal.ok \ parse1.awk \ parse1.in \ parse1.ok \ parsefld.awk \ parsefld.in \ parsefld.ok \ parseme.awk \ parseme.ok \ patsplit.awk \ patsplit.ok \ pcntplus.awk \ pcntplus.ok \ pid.awk \ pid.ok \ pid.sh \ pipeio1.awk \ pipeio1.ok \ pipeio2.awk \ pipeio2.in \ pipeio2.ok \ posix.awk \ posix.in \ posix.ok \ posix2008sub.awk \ posix2008sub.ok \ poundbang.awk \ prdupval.awk \ prdupval.in \ prdupval.ok \ prec.awk \ prec.ok \ printf0.awk \ printf0.ok \ printf1.awk \ printf1.ok \ printfbad1.awk \ printfbad1.ok \ printfbad2.awk \ printfbad2.in \ printfbad2.ok \ printfbad3.awk \ printfbad3.ok \ printfbad4.awk \ printfbad4.ok \ printfchar.awk \ printfchar.ok \ printfloat.awk \ printhuge.awk \ printhuge.ok \ printlang.awk \ prmarscl.awk \ prmarscl.ok \ prmreuse.awk \ prmreuse.ok \ procinfs.awk \ procinfs.ok \ profile0.awk \ profile0.in \ profile0.ok \ profile2.ok \ profile3.awk \ profile3.ok \ profile4.awk \ profile4.ok \ profile5.awk \ profile5.ok \ profile6.awk \ profile6.ok \ profile7.awk \ profile7.ok \ profile8.awk \ profile8.ok \ profile9.awk \ profile9.ok \ profile10.awk \ profile10.ok \ prt1eval.awk \ prt1eval.ok \ prtoeval.awk \ prtoeval.ok \ pty1.awk \ pty1.ok \ pty2.awk \ pty2.ok \ rand-mpfr.ok \ rand.awk \ rand.ok \ randtest.sh \ randtest.ok \ range1.awk \ range1.in \ range1.ok \ readbuf.awk \ readbuf.ok \ readdir.awk \ readdir0.awk \ readfile2.awk \ readfile2.ok \ rebrackloc.awk \ rebrackloc.in \ rebrackloc.ok \ rebt8b1.awk \ rebt8b1.ok \ rebt8b2.awk \ rebt8b2.ok \ rebuf.awk \ rebuf.in \ rebuf.ok \ rebuild.awk \ rebuild.in \ rebuild.ok \ redfilnm.awk \ redfilnm.in \ redfilnm.ok \ regeq.awk \ regeq.in \ regeq.ok \ regexpbrack.awk \ regexpbrack.in \ regexpbrack.ok \ regexpbrack2.awk \ regexpbrack2.in \ regexpbrack2.ok \ regexprange.awk \ regexprange.ok \ reginttrad.awk \ reginttrad.ok \ regnul1.awk \ regnul1.ok \ regnul2.awk \ regnul2.ok \ regrange.awk \ regrange.ok \ regtest.sh \ regx8bit.awk \ regx8bit.ok \ reindops.awk \ reindops.in \ reindops.ok \ reint.awk \ reint.in \ reint.ok \ reint2.awk \ reint2.in \ reint2.ok \ reparse.awk \ reparse.in \ reparse.ok \ resplit.awk \ resplit.in \ resplit.ok \ revout.awk \ revout.ok \ revtwoway.awk \ revtwoway.ok \ rri1.awk \ rri1.in \ rri1.ok \ rs.awk \ rs.in \ rs.ok \ rscompat.awk \ rscompat.in \ rscompat.ok \ rsgetline.awk \ rsgetline.in \ rsgetline.ok \ rsglstdin.ok \ rsnul1nl.awk \ rsnul1nl.in \ rsnul1nl.ok \ rsnulbig.ok \ rsnulbig2.ok \ rsstart1.awk \ rsstart1.in \ rsstart1.ok \ rsstart2.awk \ rsstart2.ok \ rsstart3.ok \ rstest1.awk \ rstest1.ok \ rstest2.awk \ rstest2.ok \ rstest3.awk \ rstest3.ok \ rstest4.awk \ rstest4.ok \ rstest5.awk \ rstest5.ok \ rstest6.awk \ rstest6.in \ rstest6.ok \ rswhite.awk \ rswhite.in \ rswhite.ok \ rtlen.ok \ rtlen.sh \ rtlenmb.ok \ rtlen01.ok \ rtlen01.sh \ rwarray.awk \ rwarray.in \ rwarray.ok \ scalar.awk \ scalar.ok \ sclforin.awk \ sclforin.ok \ sclifin.awk \ sclifin.ok \ setrec0.awk \ setrec0.in \ setrec0.ok \ setrec1.awk \ setrec1.ok \ shadow.awk \ shadow.ok \ shadowbuiltin.awk \ shadowbuiltin.ok \ sigpipe1.awk \ sigpipe1.ok \ sort1.awk \ sort1.ok \ sortempty.awk \ sortempty.ok \ sortfor.awk \ sortfor.in \ sortfor.ok \ sortfor2.awk \ sortfor2.in \ sortfor2.ok \ sortglos.awk \ sortglos.in \ sortglos.ok \ sortu.awk \ sortu.ok \ sourcesplit.ok \ space.ok \ split_after_fpat.awk \ split_after_fpat.in \ split_after_fpat.ok \ splitarg4.awk \ splitarg4.in \ splitarg4.ok \ splitargv.awk \ splitargv.in \ splitargv.ok \ splitarr.awk \ splitarr.ok \ splitdef.awk \ splitdef.ok \ splitvar.awk \ splitvar.in \ splitvar.ok \ splitwht.awk \ splitwht.ok \ sprintfc.awk \ sprintfc.in \ sprintfc.ok \ status-close.awk \ status-close.ok \ strcat1.awk \ strcat1.ok \ strftime.awk \ strftlng.awk \ strftlng.ok \ strftfld.awk \ strftfld.in \ strftfld.ok \ strnum1.awk \ strnum1.ok \ strnum2.awk \ strnum2.ok \ strtod.awk \ strtod.in \ strtod.ok \ strtonum.awk \ strtonum.ok \ strtonum1.awk \ strtonum1.ok \ subamp.awk \ subamp.in \ subamp.ok \ subback.awk \ subback.in \ subback.ok \ subi18n.awk \ subi18n.ok \ subsepnm.awk \ subsepnm.ok \ subslash.awk \ subslash.ok \ substr.awk \ substr.ok \ swaplns.awk \ swaplns.in \ 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 \ symtab10.awk \ symtab10.in \ symtab10.ok \ synerr1.awk \ synerr1.ok \ synerr2.awk \ synerr2.ok \ testext.ok \ time.awk \ time.ok \ timeout.awk \ timeout.ok \ tradanch.awk \ tradanch.in \ tradanch.ok \ tweakfld.awk \ tweakfld.in \ tweakfld.ok \ typedregex1.awk \ typedregex1.ok \ typedregex2.awk \ typedregex2.ok \ typedregex3.awk \ typedregex3.ok \ typeof1.awk \ typeof1.ok \ typeof2.awk \ typeof2.ok \ typeof3.awk \ typeof3.ok \ typeof4.awk \ typeof4.ok \ typeof5.awk \ typeof5.in \ typeof5.ok \ uninit2.awk \ uninit2.ok \ uninit3.awk \ uninit3.ok \ uninit4.awk \ uninit4.ok \ uninit5.awk \ uninit5.ok \ uninitialized.awk \ uninitialized.ok \ unterm.awk \ unterm.ok \ uparrfs.awk \ uparrfs.in \ uparrfs.ok \ uplus.awk \ uplus.ok \ valgrind.awk \ watchpoint1.awk \ watchpoint1.in \ watchpoint1.ok \ watchpoint1.script \ wideidx.awk \ wideidx.in \ wideidx.ok \ wideidx2.awk \ wideidx2.ok \ widesub.awk \ widesub.ok \ widesub2.awk \ widesub2.ok \ widesub3.awk \ widesub3.in \ widesub3.ok \ widesub4.awk \ widesub4.ok \ wjposer1.awk \ wjposer1.in \ wjposer1.ok \ xref.awk \ xref.original \ zero2.awk \ zero2.ok \ zeroe0.awk \ zeroe0.ok \ 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 CLEANFILES = core core.* fmtspcl.ok # try to keep these sorted. each letter starts a new line BASIC_TESTS = \ addcomma anchgsub anchor argarray arrayind1 arrayind2 arrayind3 arrayparm \ arrayprm2 arrayprm3 arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 \ arynasty arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \ aryprm8 aryprm9 arysubnm aryunasgn asgext awkpath assignnumfield \ back89 backgsub badassign1 badbuild \ callparam childin clobber closebad clsflnam compare compare2 \ concat1 concat2 concat3 concat4 concat5 convfmt \ datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \ eofsplit exit2 exitval1 exitval2 exitval3 fcall_exit fcall_exit2 \ fldchg fldchgnf fldterm fnamedat fnarray fnarray2 fnaryscl fnasgnm fnmisc \ fordel forref forsimp fsbs fsnul1 fsrs fsspcoln fstabplus funsemnl \ funsmnam funstack \ getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 gsubtst7 \ gsubtst8 \ hex hex2 hsprint \ inpref inputred intest intprec iobug1 \ leaddig leadnl litoct longsub longwrds \ manglprm math membug1 memleak messages minusstr mmap8k \ nasty nasty2 negexp negrange nested nfldstr nfloop nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \ nors nulinsrc nulrsend numindex numstr1 numsubstr \ octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofmtstrnum ofs1 onlynl \ opasnidx opasnslf \ paramasfunc1 paramasfunc2 paramdup paramres paramtyp paramuninitglobal \ parse1 parsefld parseme pcntplus posix2008sub prdupval prec printf0 \ printf1 printfchar prmarscl prmreuse prt1eval prtoeval \ rand randtest range1 readbuf rebrackloc rebt8b1 rebuild redfilnm regeq \ regexpbrack regexpbrack2 regexprange regrange reindops reparse resplit \ rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 rstest3 \ rstest4 rstest5 rswhite \ scalar sclforin sclifin setrec0 setrec1 \ sigpipe1 sortempty sortglos splitargv splitarr \ splitdef splitvar splitwht status-close strcat1 strnum1 strnum2 strtod \ subamp subback subi18n subsepnm subslash substr swaplns synerr1 synerr2 \ tradanch tweakfld \ uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs uplus \ wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \ zero2 zeroe0 zeroflag UNIX_TESTS = \ fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \ space strftlng GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ backw badargs beginfile1 beginfile2 binmode1 \ charasbytes colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \ clos1way6 crlf \ dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \ devfd devfd1 devfd2 dumpvars \ errno exit \ fieldwdth forcenum fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpatnull fsfwfs \ funlen functab1 functab2 functab3 fwtest fwtest2 fwtest3 fwtest4 \ fwtest5 fwtest6 fwtest7 fwtest8 \ genpot gensub gensub2 gensub3 getlndir gnuops2 gnuops3 gnureops gsubind \ icasefs icasers id igncdym igncfs ignrcas2 ignrcas4 ignrcase incdupe \ incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 include include2 \ indirectbuiltin indirectcall indirectcall2 intarray isarrayunset \ lint lintexp lintindex lintint lintlength lintold lintset lintwarn \ mixed1 mktime manyfiles match1 match2 match3 mbstr1 mbstr2 muldimposix \ nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge \ procinfs profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ profile7 profile8 profile9 profile10 pty1 pty2 \ rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin \ rsstart1 rsstart2 rsstart3 rstest6 \ shadow shadowbuiltin sortfor sortfor2 sortu sourcesplit split_after_fpat \ splitarg4 strftime strftfld strtonum strtonum1 switch2 symtab1 symtab2 \ symtab3 symtab4 symtab5 symtab6 symtab7 symtab8 symtab9 symtab10 \ typedregex1 typedregex2 typedregex3 typeof1 typeof2 typeof3 typeof4 \ typeof5 timeout \ watchpoint1 ARRAYDEBUG_TESTS = arrdbg EXTRA_TESTS = inftest regtest ignrcas3 INET_TESTS = inetdayu inetdayt inetechu inetecht MACHINE_TESTS = double1 double2 fmtspcl intformat MPFR_TESTS = mpfrbigint mpfrexprange mpfrieee mpfrmemok1 mpfrnegzero \ mpfrnr mpfrrem mpfrrnd mpfrrndeval mpfrsort mpfrsqrt \ mpfrstrtonum mpgforcenum mpfruplus LOCALE_CHARSET_TESTS = \ asort asorti backbigs1 backsmalls1 backsmalls2 \ fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \ mbprintf1 mbprintf2 mbprintf3 mbprintf4 mbprintf5 \ mtchi18n nlstringtest rebt8b2 rtlenmb sort1 sprintfc SHLIB_TESTS = \ apiterm \ filefuncs fnmatch fork fork2 fts functab4 \ getfile \ inplace1 inplace2 inplace3 \ ordchr ordchr2 \ readdir readdir_test readfile readfile2 revout \ revtwoway rwarray \ testext time # List of the tests which should be run with --lint option: NEED_LINT = \ defref fmtspcl lintexp lintindex lintint lintlength lintwarn \ noeffect nofmtch shadow uninit2 uninit3 uninit4 uninit5 uninitialized # List of the tests which should be run with --lint-old option: NEED_LINT_OLD = lintold # List of the tests which fail with EXIT CODE 1 FAIL_CODE1 = \ badassign1 badbuild callparam delfunc fcall_exit fcall_exit2 \ fnamedat fnarray fnarray2 fnasgnm fnmisc funsmnam gsubasgn \ incdupe2 lintwarn match2 mixed1 noparms paramasfunc1 paramasfunc2 \ paramdup paramres parseme readbuf 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 dtdgport.awk gtlnbufv.awk hello.awk \ inchello.awk inclib.awk inplace.1.in inplace.2.in inplace.in \ longdbl.awk longdbl.in printfloat.awk readdir0.awk xref.awk CMP = cmp AWKPROG = ../gawk$(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. # # And we set AWKLIBPATH to find the extension libraries we built. LOCALES = LANGUAGE= LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} AWK = $(LOCALES) 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 # spurious errors if `make -j' in effect. check: msg \ printlang \ basic-msg-start basic basic-msg-end \ unix-msg-start unix-tests unix-msg-end \ extend-msg-start gawk-extensions arraydebug-tests extend-msg-end \ machine-msg-start machine-tests machine-msg-end \ charset-tests-all \ shlib-msg-start shlib-tests shlib-msg-end \ mpfr-msg-start mpfr-tests mpfr-msg-end @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; } basic: $(BASIC_TESTS) unix-tests: $(UNIX_TESTS) gawk-extensions: $(GAWK_EXT_TESTS) charset-tests-all: @if locale -a | grep -i 'en_US.UTF.*8' > /dev/null && \ locale -a | grep -i 'fr_FR.UTF.*8' > /dev/null && \ locale -a | grep -i 'ru_RU.UTF.*8' > /dev/null && \ locale -a | grep -i 'ja_JP.UTF.*8' > /dev/null ; \ then \ $(MAKE) charset-msg-start charset-tests charset-msg-end; \ else \ echo %%%%%%%%%% Inadequate locale support: skipping charset tests. ; \ echo %%%%%%%%%% At least en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8 and ja_JP.UTF-8 are needed. ; \ fi charset-tests: $(LOCALE_CHARSET_TESTS) extra: $(EXTRA_TESTS) inet inet: inetmesg $(INET_TESTS) machine-tests: $(MACHINE_TESTS) # The blank between ' and /MPFR/ is for running tests on Windows under # MSYS, which thinks /MPFR is a Unix-style file name and converts it # to Windows format, butchering it in the process. Likewise for /API/ # in the next shlib-tests. mpfr-tests: @if $(AWK) --version | $(AWK) ' /MPFR/ { exit 1 }' ; then \ echo MPFR tests not supported on this system ; \ else $(MAKE) $(MPFR_TESTS) ; \ fi arraydebug-tests: @if echo $(CFLAGS) | grep ARRAYDEBUG > /dev/null ; then \ $(MAKE) $(ARRAYDEBUG_TESTS) ; \ else echo gawk is not compiled to support the array debug tests ; \ fi shlib-tests: @if $(AWK) --version | $(AWK) ' /API/ { exit 1 }' ; then \ echo shlib tests not supported on this system ; \ else $(MAKE) shlib-real-tests ; \ fi shlib-real-tests: $(SHLIB_TESTS) msg:: @echo '' @echo 'Any output from "cmp" is bad news, although some differences' @echo 'in floating point values are probably benign -- in particular,' @echo 'some systems may omit a leading zero and the floating point' @echo 'precision may lead to slightly different output in a few cases.' printlang:: @$(AWK) -f "$(srcdir)"/printlang.awk basic-msg-start: @echo "======== Starting basic tests ========" basic-msg-end: @echo "======== Done with basic tests ========" unix-msg-start: @echo "======== Starting Unix tests ========" unix-msg-end: @echo "======== Done with Unix tests ========" extend-msg-start: @echo "======== Starting gawk extension tests ========" extend-msg-end: @echo "======== Done with gawk extension tests ========" machine-msg-start: @echo "======== Starting machine-specific tests ========" machine-msg-end: @echo "======== Done with machine-specific tests ========" charset-msg-start: @echo "======== Starting tests that can vary based on character set or locale support ========" @echo "**************************************************************************" @echo "* Some or all of these tests may fail if you have inadequate or missing *" @echo "* locale support. At least en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8 and *" @echo "* ja_JP.UTF-8 are needed. The el_GR.iso88597 is optional but helpful. *" @echo "* However, if you see this message, the Makefile thinks you have what *" @echo "* you need ... *" @echo "**************************************************************************" 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 $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ # This test is a PITA because increasingly, /tmp is getting # mounted noexec. So, we'll test it locally. Sigh. # # More PITA; some systems have medium short limits on #! paths, # so this can still fail poundbang:: @echo $@ @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk @chmod +x ./_pbd.awk @if ./_pbd.awk "$(srcdir)"/poundbang.awk > _`basename $@` ; \ then : ; \ else \ sed "s;/tmp/gawk;$(AWKPROG);" < "$(srcdir)"/poundbang.awk > ./_pbd.awk ; \ chmod +x ./_pbd.awk ; \ LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk "$(srcdir)"/poundbang.awk > _`basename $@`; \ fi @-$(CMP) "$(srcdir)"/poundbang.awk _`basename $@` && rm -f _`basename $@` _pbd.awk 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 argarray:: @echo $@ @cp "$(srcdir)"/argarray.in ./argarray.input @TEST=test echo just a test | $(AWK) -f "$(srcdir)"/argarray.awk ./argarray.input - >_$@ @rm -f ./argarray.input @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ regtest:: @echo 'Some of the output from regtest is very system specific, do not' @echo 'be distressed if your output differs from that distributed.' @echo 'Manual inspection is called for.' AWK=$(AWKPROG) "$(srcdir)"/regtest.sh manyfiles:: @echo manyfiles @rm -rf junk @mkdir junk @$(AWK) 'BEGIN { for (i = 1; i <= 1030; i++) print i, i}' >_$@ @$(AWK) -f "$(srcdir)"/manyfiles.awk _$@ _$@ @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l | sed "s/ *//g" > _$@ @rm -rf junk @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ compare:: @echo $@ @$(AWK) -f "$(srcdir)"/compare.awk 0 1 "$(srcdir)"/compare.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ inftest:: @echo $@ @echo This test is very machine specific... @$(AWK) -f "$(srcdir)"/inftest.awk | sed "s/inf/Inf/g" >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ getline2:: @echo $@ @$(AWK) -f "$(srcdir)"/getline2.awk "$(srcdir)"/getline2.awk "$(srcdir)"/getline2.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ awkpath:: @echo $@ @AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ argtest:: @echo $@ @$(AWK) -f "$(srcdir)"/argtest.awk -x -y abc >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ badargs:: @echo $@ @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nonl:: @echo $@ @-AWKPATH="$(srcdir)" $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ strftime:: @echo $@ @GAWKLOCALE=C; export GAWKLOCALE; \ TZ=GMT0; export TZ; \ $(AWK) -v OUTPUT=_$@ -f "$(srcdir)"/strftime.awk @-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0 litoct:: @echo $@ @echo ab | $(AWK) --traditional -f "$(srcdir)"/litoct.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ devfd:: @echo $@ @$(AWK) 1 /dev/fd/4 /dev/fd/5 4<"$(srcdir)"/devfd.in4 5<"$(srcdir)"/devfd.in5 >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ errno: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ fflush:: @echo $@ @"$(srcdir)"/fflush.sh >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ tweakfld:: @echo $@ @$(AWK) -f "$(srcdir)"/tweakfld.awk "$(srcdir)"/tweakfld.in >_$@ @rm -f errors.cleanup @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mmap8k:: @echo $@ @$(AWK) '{ print }' "$(srcdir)"/mmap8k.in >_$@ @-$(CMP) "$(srcdir)"/mmap8k.in _$@ && rm -f _$@ || cp "$(srcdir)"/$@.in $@.ok tradanch:: @echo $@ @$(AWK) --traditional -f "$(srcdir)"/tradanch.awk "$(srcdir)"/tradanch.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ # AIX /bin/sh exec's the last command in a list, therefore issue a ":" # command so that pid.sh is fork'ed as a child before being exec'ed. pid:: @echo pid @AWKPATH="$(srcdir)" AWK=$(AWKPROG) $(SHELL) "$(srcdir)"/pid.sh $$$$ > _`basename $@` ; : @-$(CMP) "$(srcdir)"/pid.ok _`basename $@` && rm -f _`basename $@` strftlng:: @echo $@ @TZ=UTC; export TZ; $(AWK) -f "$(srcdir)"/strftlng.awk >_$@ @if $(CMP) "$(srcdir)"/strftlng.ok _$@ >/dev/null 2>&1 ; then : ; else \ TZ=UTC0; export TZ; $(AWK) -f "$(srcdir)"/strftlng.awk >_$@ ; \ fi @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nors:: @echo $@ @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - "$(srcdir)"/nors.in > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ 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 $@ @$(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 rebuf:: @echo $@ @AWKBUFSIZE=4096 AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsglstdin:: @echo $@ @cat "$(srcdir)"/rsgetline.in | AWKPATH="$(srcdir)" $(AWK) -f rsgetline.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ reint:: @echo $@ @$(AWK) --re-interval -f "$(srcdir)"/reint.awk "$(srcdir)"/reint.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ pipeio1:: @echo $@ @$(AWK) -f "$(srcdir)"/pipeio1.awk >_$@ @rm -f test1 test2 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ pipeio2:: @echo $@ @$(AWK) -v SRCDIR="$(srcdir)" -f "$(srcdir)"/pipeio2.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ clobber:: @echo $@ @$(AWK) -f "$(srcdir)"/clobber.awk >_$@ @-$(CMP) "$(srcdir)"/clobber.ok seq && $(CMP) "$(srcdir)"/clobber.ok _$@ && rm -f _$@ @rm -f seq arynocls:: @echo $@ @-AWKPATH="$(srcdir)" $(AWK) -v INPUT="$(srcdir)"/arynocls.in -f arynocls.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ getlnbuf:: @echo $@ @-AWKPATH="$(srcdir)" $(AWK) -f getlnbuf.awk "$(srcdir)"/getlnbuf.in > _$@ @-AWKPATH="$(srcdir)" $(AWK) -f gtlnbufv.awk "$(srcdir)"/getlnbuf.in > _2$@ @-$(CMP) "$(srcdir)"/getlnbuf.ok _$@ && $(CMP) "$(srcdir)"/getlnbuf.ok _2$@ && rm -f _$@ _2$@ inetmesg:: @echo These tests only work if your system supports the services @echo "'discard'" at port 9 and "'daytimed'" at port 13. Check your @echo file /etc/services and do "'netstat -a'". inetechu:: @echo This test is for establishing UDP connections @$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}' inetecht:: @echo This test is for establishing TCP connections @$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}' inetdayu:: @echo This test is for bidirectional UDP transmission @$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \ "/inet/udp/0/127.0.0.1/13" |& getline; print $0}' inetdayt:: @echo This test is for bidirectional TCP transmission @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \ "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}' redfilnm:: @echo $@ @$(AWK) -f "$(srcdir)"/redfilnm.awk srcdir="$(srcdir)" "$(srcdir)"/redfilnm.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ leaddig:: @echo $@ @$(AWK) -v x=2E -f "$(srcdir)"/leaddig.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ gsubtst3:: @echo $@ @$(AWK) --re-interval -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ space:: @echo $@ @$(AWK) -f ' ' "$(srcdir)"/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ printf0:: @echo $@ @$(AWK) --posix -f "$(srcdir)"/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsnulbig:: @echo $@ @ : Suppose that block size for pipe is at most 128kB: @$(AWK) 'BEGIN { for (i = 1; i <= 128*64+1; i++) print "abcdefgh123456\n" }' 2>&1 | \ $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" }; { print }' 2>&1 | \ $(AWK) '/^[^a]/; END{ print NR }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsnulbig2:: @echo $@ @$(AWK) 'BEGIN { ORS = ""; n = "\n"; for (i = 1; i <= 10; i++) n = (n n); \ for (i = 1; i <= 128; i++) print n; print "abc\n" }' 2>&1 | \ $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" };{ print }' 2>&1 | \ $(AWK) '/^[^a]/; END { print NR }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ wideidx:: @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 _$@ wideidx2:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ widesub:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ widesub2:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ widesub3:: @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 _$@ widesub4:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ignrcas2:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ subamp:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ # This test makes sure gawk exits with a zero code. # Thus, unconditionally generate the exit code. exitval1:: @echo $@ @$(AWK) -f "$(srcdir)"/exitval1.awk >_$@ 2>&1; echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ fsspcoln:: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk 'FS=[ :]+' "$(srcdir)"/$@.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsstart1:: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/rsstart1.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsstart2:: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/rsstart1.in >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rsstart3:: @echo $@ @head "$(srcdir)"/rsstart1.in | $(AWK) -f "$(srcdir)"/rsstart2.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rtlen:: @echo $@ @"$(srcdir)"/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rtlen01:: @echo $@ @"$(srcdir)"/$@.sh >_$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rtlenmb:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ "$(srcdir)"/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nondec2:: @echo $@ @$(AWK) --non-decimal-data -v a=0x1 -f "$(srcdir)"/$@.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ intarray:: @echo $@ @$(AWK) --non-decimal-data -f "$(srcdir)"/$@.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ forcenum:: @echo $@ @$(AWK) --non-decimal-data -f "$(srcdir)"/$@.awk >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nofile:: @echo $@ @$(AWK) '{}' no/such/file >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ binmode1:: @echo $@ @$(AWK) -v BINMODE=3 'BEGIN { print BINMODE }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ subi18n:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f "$(srcdir)"/$@.awk > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ concat4:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ devfd1:: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk 4< "$(srcdir)"/devfd.in1 5< "$(srcdir)"/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ # The program text is the '1' which will print each record. How compact can you get? devfd2:: @echo $@ @$(AWK) 1 /dev/fd/4 /dev/fd/5 4< "$(srcdir)"/devfd.in1 5< "$(srcdir)"/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mixed1:: @echo $@ @$(AWK) -f /dev/null --source 'BEGIN {return junk}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mtchi18n:: @echo $@ @GAWKLOCALE=ru_RU.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ reint2:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) --re-interval -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ localenl:: @echo $@ @"$(srcdir)"/$@.sh >_$@ 2>/dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbprintf1:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbprintf2:: @echo $@ @GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbprintf3:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbprintf4:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbprintf5:: @echo $@ @case `uname` in \ CYGWIN*) echo this test fails on cygwin --- skipping $@ ;; \ *) \ GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \ $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \ esac mbfw1:: @echo $@ @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \ $(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ gsubtst6:: @echo $@ @GAWKLOCALE=C ; $(AWK) -f "$(srcdir)"/$@.awk > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbstr1:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mbstr2:: @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 _$@ printfbad2: printfbad2.ok @echo $@ @$(AWK) --lint -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in 2>&1 | sed 's;$(srcdir)/;;g' >_$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ beginfile1:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ beginfile2: @echo $@ @-( cd "$(srcdir)" && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(abs_srcdir)/$@.sh $(abs_srcdir)/$@.in ) > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ dumpvars:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) --dump-variables 1 < "$(srcdir)"/$@.in >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@ @grep -v ENVIRON < awkvars.out | grep -v PROCINFO > _$@; rm awkvars.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile0: @echo $@ @$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile1: @echo $@ @$(AWK) -f "$(srcdir)"/xref.awk "$(srcdir)"/dtdgport.awk > _$@.out1 @$(AWK) --pretty-print=ap-$@.out -f "$(srcdir)"/xref.awk @$(AWK) -f ./ap-$@.out "$(srcdir)"/dtdgport.awk > _$@.out2 ; rm ap-$@.out @$(CMP) _$@.out1 _$@.out2 && rm _$@.out[12] || { echo EXIT CODE: $$? >>_$@ ; \ cp "$(srcdir)"/dtdgport.awk $@.ok ; } profile2: @echo $@ @$(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 $@ @$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile4: @echo $@ @$(AWK) --pretty-print=_$@ -f "$(srcdir)"/$@.awk > /dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile5: @echo $@ @$(AWK) --pretty-print=_$@ -f "$(srcdir)"/$@.awk > /dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile6: @echo $@ @$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile7: @echo $@ @$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk > /dev/null @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile8: @echo $@ @$(AWK) --pretty-print=_$@ -f "$(srcdir)"/$@.awk > /dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile9: @echo $@ @$(AWK) --pretty-print=_$@ -f "$(srcdir)"/$@.awk > /dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ profile10: @echo $@ @$(AWK) --pretty-print=_$@ -f "$(srcdir)"/$@.awk > /dev/null @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ posix2008sub: @echo $@ @$(AWK) --posix -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ next: @echo $@ @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 @-LC_ALL=C $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ exit: @echo $@ @-AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ rri1:: @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 _$@ 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 _$@ mpfrrndeval: @echo $@ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpfrnegzero: @echo $@ @$(AWK) -M -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 _$@ mpfrsqrt: @echo $@ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpfrstrtonum: @echo $@ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpfruplus: @echo $@ @$(AWK) -M -f "$(srcdir)"/uplus.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpgforcenum: @echo $@ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpfrrem: @echo $@ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ mpfrmemok1: @echo $@ @$(AWK) -p- -M -f "$(srcdir)"/$@.awk 2>&1 | sed 1d > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ jarebug:: @echo $@ @"$(srcdir)"/$@.sh "$(AWKPROG)" "$(srcdir)"/$@.awk "$(srcdir)"/$@.in "_$@" @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ordchr2:: @echo $@ @$(AWK) --load 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 readfile2:: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ include2:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) --include 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 testexttmp.txt getfile: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -v TESTEXT_QUIET=1 -ltestext -f $@.awk < $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ readdir: @if [ "`uname`" = Linux ] && [ "`stat -f . 2>/dev/null | awk 'NR == 2 { print $$NF }'`" = nfs ]; then \ echo This test may fail on GNU/Linux systems when run on NFS or JFS filesystems.; \ echo If it does, try rerunning on an ext'[234]' filesystem. ; \ fi @echo $@ @$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@ @ls -afi "$(top_srcdir)" > _dirlist @ls -lna "$(top_srcdir)" | sed 1d > _longlist @$(AWK) -f "$(srcdir)"/readdir0.awk -v extout=_$@ \ -v dirlist=_dirlist -v longlist=_longlist > $@.ok @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ _dirlist _longlist readdir_test: @echo $@ @$(AWK) -lreaddir -F/ '{printf "[%s] [%s] [%s] [%s]\n", $$1, $$2, $$3, $$4}' "$(top_srcdir)" > $@.ok @$(AWK) -lreaddir_test '{printf "[%s] [%s] [%s] [%s]\n", $$1, $$2, $$3, $$4}' "$(top_srcdir)" > _$@ @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ fts: @case `uname` in \ IRIX) \ echo This test may fail on IRIX systems when run on an NFS filesystem.; \ echo If it does, try rerunning on an xfs filesystem. ;; \ CYGWIN*) \ echo This test may fail on CYGWIN systems when run on an NFS filesystem.; \ echo If it does, try rerunning on an ntfs filesystem. ;; \ esac @echo $@ @$(AWK) -f "$(srcdir)"/fts.awk @-$(CMP) $@.ok _$@ && rm -f $@.ok _$@ charasbytes: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -b -f $@.awk "$(srcdir)"/$@.in | \ od -c -t x1 | tr ' ' ' ' | 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 _$@ symtab9: @echo $@ @$(AWK) -f "$(srcdir)"/$@.awk >_$@ @rm -f testit.txt @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ reginttrad: @echo $@ @$(AWK) --traditional -r -f "$(srcdir)"/$@.awk > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ colonwarn: @echo $@ @for i in 1 2 3 ; \ do $(AWK) -f "$(srcdir)"/$@.awk $$i < "$(srcdir)"/$@.in ; \ done > _$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ 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 _$@ randtest:: @echo $@ @-GAWK="$(AWKPROG)" "$(srcdir)"/randtest.sh >_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ backbigs1: @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 _$@ backsmalls1: @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 _$@ backsmalls2: @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 _$@ dbugeval:: @echo $@ @if [ -t 0 ]; then \ $(AWK) --debug -f /dev/null < "$(srcdir)"/$@.in > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \ $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \ fi printhuge:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ filefuncs: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -v builddir="$(abs_top_builddir)" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ genpot: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --gen-pot >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ paramasfunc1:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ paramasfunc2:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ negtime:: @echo $@ @TZ=GMT AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @AWKPATH="$(srcdir)" $(AWK) -f checknegtime.awk "$(srcdir)"/$@.ok _$@ && rm -f _$@ dbugtypedre1: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -D -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ dbugtypedre2: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -D -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ dbugeval2: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -D -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ muldimposix:: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ watchpoint1: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -D -f $@.awk $(srcdir)/$@.in < $(srcdir)/$@.script >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ pty1: @echo $@ @-case `uname` in \ *[Oo][Ss]/390*) : ;; \ *) AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \ $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ;; \ esac ## 1/2018: The awk goop is to compensate for different output of od on ## Mac OS X systems. Sigh. pty2: @echo $@ @-case `uname` in \ *[Oo][Ss]/390*) : ;; \ *) AWKPATH="$(srcdir)" $(AWK) -f $@.awk | od -c | $(AWK) '{ $$1 = $$1 ; print }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \ $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ;; \ esac rscompat: @echo $@ @AWKPATH="$(srcdir)" $(AWK) --traditional -f $@.awk "$(srcdir)/$@.in" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ symtab10: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -D -f $@.awk < "$(srcdir)/$@.in" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ignrcas3:: @echo $@ @if locale -a | grep el_GR.iso88597 > /dev/null ; then \ GAWKLOCALE=el_GR.iso88597 \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \ $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \ fi arrdbg: @echo $@ @$(AWK) -v "okfile=./$@.ok" -f "$(srcdir)"/$@.awk | grep array_f >_$@ @-$(CMP) ./$@.ok _$@ && rm -f _$@ ./$@.ok fwtest3: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/fwtest2.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ sourcesplit: @echo $@ @AWKPATH="$(srcdir)" $(AWK) --source='BEGIN { a = 5;' --source='print a }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nonfatal1: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk 2>&1 | $(AWK) '{print gensub(/invalid:.*$$/, "invalid", 1, $$0)}' >_$@ || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ nlstringtest:: @echo $@ @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=fr_FR.UTF-8 ; \ AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ # Targets generated for other tests: include Maketests Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests files=`cd "$(srcdir)" && echo *.awk *.in`; \ $(AWK) -f "$(srcdir)"/Gentests "$(srcdir)"/Makefile.am $$files > $@ clean-local: 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: @COUNT=`ls _* 2>/dev/null | wc -l` ; \ if test $$COUNT = 0 ; \ then echo ALL TESTS PASSED ; \ else echo $$COUNT TESTS FAILED ; exit 1; \ fi # This target for my convenience to look at all the results # Don't use POSIX or bash-isms so that it'll work on !@#$%^&*() Solaris. diffout: for i in _* ; \ do \ if [ "$$i" != "_*" ]; then \ echo ============== $$i ============= ; \ base=`echo $$i | sed 's/^_//'` ; \ if [ -r $${base}.ok ]; then \ diff -c $${base}.ok $$i ; \ else \ diff -c "$(srcdir)"/$${base}.ok $$i ; \ fi ; \ fi ; \ done | more # convenient way to scan valgrind results for errors valgrind-scan: @echo "Scanning valgrind log files for problems:" @$(AWK) -f "$(srcdir)"/valgrind.awk log.[0-9]* # This target is for testing with electric fence. efence: for i in $$(ls _* | sed 's;_\(.*\);\1;') ; \ do \ bad=$$(wc -l < _$$i) \ ok=$$(wc -l < $$i.ok) ; \ if (( $$bad == $$ok + 2 )) ; \ then \ rm _$$i ; \ fi ; \ done