ubuntu-buildroot/output/build/host-gawk-5.2.0/test/Makefile.am

2659 lines
67 KiB
Makefile
Raw Normal View History

2024-04-01 15:19:46 +00:00
#
# test/Makefile.am --- automake input file for gawk
#
# Copyright (C) 1988-2022 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 \
ChangeLog.1 \
Gentests \
Maketests \
makepmafile.c \
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 \
argcasfile.awk \
argcasfile.in \
argcasfile.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 \
arraysort2.awk \
arraysort2.ok \
arraytype.awk \
arraytype.ok \
arraytype-mpfr.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 \
assignnumfield2.awk \
assignnumfield2.ok \
asortbool.awk \
asortbool.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 \
close_status.awk \
close_status.ok \
clsflnam.awk \
clsflnam.in \
clsflnam.ok \
colonwarn.awk \
colonwarn.in \
colonwarn.ok \
commas.awk \
commas.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 \
dbugeval3.awk \
dbugeval3.in \
dbugeval3.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 \
dfacheck1.awk \
dfacheck1.in \
dfacheck1.ok \
dfacheck2.awk \
dfacheck2.in \
dfacheck2.ok \
dfamb1.awk \
dfamb1.in \
dfamb1.ok \
dfastress.awk \
dfastress.ok \
divzero.awk \
divzero.ok \
double1.awk \
double1.ok \
double2.awk \
double2.ok \
dtdgport.awk \
dumpvars.in \
dumpvars.ok \
dynlj.awk \
dynlj.ok \
escapebrace.awk \
escapebrace.in \
escapebrace.ok \
eofsplit.awk \
eofsplit.ok \
eofsrc1a.awk \
eofsrc1b.awk \
eofsrc1.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 \
fix-fmtspcl.awk \
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 \
fpat7.awk \
fpat7.in \
fpat7.ok \
fpat8.awk \
fpat8.in \
fpat8.ok \
fpat9.awk \
fpat9.in \
fpat9.ok \
fpatnull.awk \
fpatnull.in \
fpatnull.ok \
fsbs.awk \
fsbs.in \
fsbs.ok \
fscaret.awk \
fscaret.in \
fscaret.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 \
functab5.awk \
functab5.ok \
functab6.awk \
functab6.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.in \
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 \
getlnfa.awk \
getlnfa.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 \
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 \
incdupe2.ok \
incdupe3.ok \
incdupe4.ok \
incdupe5.ok \
incdupe6.ok \
incdupe7.ok \
incdupe.ok \
inchello.awk \
inclib.awk \
include2.ok \
include.awk \
include.ok \
indirectbuiltin.awk \
indirectbuiltin.ok \
indirectbuiltin2.awk \
indirectbuiltin2.ok \
indirectcall2.awk \
indirectcall2.ok \
indirectcall3.awk \
indirectcall3.ok \
indirectcall.awk \
indirectcall.in \
indirectcall.ok \
inf-nan-torture.awk \
inf-nan-torture.in \
inf-nan-torture.ok \
inftest.awk \
inftest.ok \
inplace1.1.ok \
inplace1.2.ok \
inplace.1.in \
inplace1.ok \
inplace2.1.bak.ok \
inplace2.1.ok \
inplace2.2.bak.ok \
inplace2.2.ok \
inplace2bcomp.1.ok \
inplace2bcomp.1.orig.ok \
inplace2bcomp.2.ok \
inplace2bcomp.2.orig.ok \
inplace2bcomp.ok \
inplace.2.in \
inplace2.ok \
inplace3.1.bak.ok \
inplace3.1.ok \
inplace3.2.bak.ok \
inplace3.2.ok \
inplace3bcomp.1.ok \
inplace3bcomp.1.orig.ok \
inplace3bcomp.2.ok \
inplace3bcomp.2.orig.ok \
inplace3bcomp.ok \
inplace3.ok \
inplace.in \
inpref.awk \
inpref.in \
inpref.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 \
iolint.awk \
iolint.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 \
lintplus.awk \
lintplus.ok \
lintset.awk \
lintset.ok \
lintwarn.awk \
lintwarn.ok \
litoct.awk \
litoct.in \
litoct.ok \
localenl.ok \
localenl.sh \
longsub.awk \
longsub.in \
longsub.ok \
longwrds.awk \
longwrds.in \
longwrds.ok \
manglprm.awk \
manglprm.in \
manglprm.ok \
manyfiles.awk \
manyfiles.ok \
mdim1.awk \
mdim1.ok \
mdim2.awk \
mdim2.ok \
mdim3.awk \
mdim3.ok \
mdim4.awk \
mdim4.in \
mdim4.ok \
modifiers.sh \
modifiers.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.awk \
mmap8k.in \
mmap8k.ok \
mpfrbigint.awk \
mpfrbigint.ok \
mpfrbigint2.awk \
mpfrbigint2.in \
mpfrbigint2.ok \
mpfrcase.awk \
mpfrcase.in \
mpfrcase.ok \
mpfrcase2.awk \
mpfrcase2.in \
mpfrcase2.ok \
mpfrexprange.awk \
mpfrexprange.ok \
mpfrfield.awk \
mpfrfield.in \
mpfrfield.ok \
mpfrieee.awk \
mpfrieee.ok \
mpfrmemok1.awk \
mpfrmemok1.ok \
mpfrnegzero.awk \
mpfrnegzero.ok \
mpfrnegzero2.awk \
mpfrnegzero2.ok \
mpfrnonum.awk \
mpfrnonum.in \
mpfrnonum.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 \
mpfranswer42.awk \
mpfranswer42.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 \
nlstringtest-nogettext.ok \
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.in \
nonl.ok \
noparms.awk \
noparms.ok \
nors.in \
nors.ok \
nsawk1.awk \
nsawk1a.ok \
nsawk1b.ok \
nsawk1c.ok \
nsawk2.awk \
nsawk2a.ok \
nsawk2b.ok \
nsbad.awk \
nsbad.ok \
nsbad2.awk \
nsbad2.ok \
nsbad3.awk \
nsbad3.ok \
nsbad_cmd.ok \
nsforloop.awk \
nsforloop.ok \
nsfuncrecurse.awk \
nsfuncrecurse.ok \
nsidentifier.awk \
nsidentifier.ok \
nsindirect1.awk \
nsindirect1.ok \
nsindirect2.awk \
nsindirect2.ok \
nsprof1.awk \
nsprof1.ok \
nsprof2.awk \
nsprof2.ok \
nulinsrc.awk \
nulinsrc.ok \
nulrsend.awk \
nulrsend.in \
nulrsend.ok \
numindex.awk \
numindex.in \
numindex.ok \
numrange.awk \
numrange.ok \
numrange-mpfr.ok \
numstr1.awk \
numstr1.ok \
numsubstr.awk \
numsubstr.in \
numsubstr.ok \
octdec.awk \
octdec.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 \
pma.ok \
posix2008sub.awk \
posix2008sub.ok \
posix_compare.awk \
posix_compare.ok \
posix.awk \
posix.in \
posix.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 \
profile11.awk \
profile11.ok \
profile12.awk \
profile12.in \
profile12.ok \
profile13.awk \
profile13.ok \
profile14.awk \
profile14.ok \
profile15.awk \
profile15.ok \
profile16.awk \
profile16.ok \
profile17.awk \
profile17.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 \
range2.awk \
range2.ok \
readall1.awk \
readall2.awk \
readall.ok \
readbuf.awk \
readbuf.ok \
readdir.awk \
readdir0.awk \
readdir_retest.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 \
regex3minus.awk \
regex3minus.ok \
regexpbrack.awk \
regexpbrack.in \
regexpbrack.ok \
regexpbrack2.awk \
regexpbrack2.in \
regexpbrack2.ok \
regexprange.awk \
regexprange.ok \
regexsub.awk \
regexsub.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 \
rsnullre.awk \
rsnullre.in \
rsnullre.ok \
rsnulw.awk \
rsnulw.in \
rsnulw.ok \
rsstart1.awk \
rsstart1.in \
rsstart1.ok \
rsstart2.awk \
rsstart2.in \
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 \
sandbox1.awk \
sandbox1.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 \
spacere.awk \
spacere.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 \
strfieldnum.awk \
strfieldnum.in \
strfieldnum.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 \
stupid1.awk \
stupid1.ok \
stupid2.awk \
stupid2.ok \
stupid3.awk \
stupid3.ok \
stupid4.awk \
stupid4.ok \
stupid5.awk \
stupid5.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.ok \
symtab11.awk \
symtab11.ok \
symtab12.awk \
symtab12.ok \
synerr1.awk \
synerr1.ok \
synerr2.awk \
synerr2.ok \
synerr3.awk \
synerr3.ok \
tailrecurse.awk \
tailrecurse.ok \
testext.ok \
testext-mpfr.ok \
time.awk \
time.ok \
timeout.awk \
timeout.ok \
tradanch.awk \
tradanch.in \
tradanch.ok \
trailbs.awk \
trailbs.in \
trailbs.ok \
tweakfld.awk \
tweakfld.in \
tweakfld.ok \
typedregex1.awk \
typedregex1.ok \
typedregex2.awk \
typedregex2.ok \
typedregex3.awk \
typedregex3.ok \
typedregex4.awk \
typedregex4.ok \
typedregex5.awk \
typedregex5.in \
typedregex5.ok \
typedregex6.awk \
typedregex6.in \
typedregex6.ok \
typeof1.awk \
typeof1.ok \
typeof2.awk \
typeof2.ok \
typeof3.awk \
typeof3.ok \
typeof4.awk \
typeof4.ok \
typeof5.awk \
typeof5.in \
typeof5.ok \
typeof6.awk \
typeof6.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
# 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 argcasfile 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 assignnumfield assignnumfield2 awkpath \
back89 backgsub badassign1 badbuild callparam childin clobber \
closebad close_status clsflnam compare compare2 concat1 concat2 \
concat3 concat4 concat5 convfmt datanonl defref delargv delarpm2 \
delarprm delfunc dfacheck2 dfamb1 dfastress divzero dynlj eofsplit \
eofsrc1 escapebrace exit2 exitval1 exitval2 exitval3 fcall_exit \
fcall_exit2 fldchg fldchgnf fldterm fnamedat fnarray fnarray2 \
fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fscaret fsnul1 \
fsrs fsspcoln fstabplus funsemnl funsmnam funstack getline \
getline2 getline3 getline4 getline5 getlnbuf getlnfa 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 numrange numstr1 numsubstr octsub \
ofmt ofmta ofmtbig ofmtfidl ofmts ofmtstrnum ofs1 onlynl opasnidx \
opasnslf paramasfunc1 paramasfunc2 paramdup paramres paramtyp \
paramuninitglobal parse1 parsefld parseme pcntplus posix2008sub \
posix_compare prdupval prec printf0 printf1 printfchar prmarscl \
prmreuse prt1eval prtoeval rand randtest range1 range2 readbuf \
rebrackloc rebt8b1 rebuild redfilnm regeq regex3minus regexpbrack \
regexpbrack2 regexprange regrange reindops reparse resplit \
rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rsnullre rsnulw \
rstest1 rstest2 rstest3 rstest4 rstest5 rswhite scalar sclforin \
sclifin setrec0 setrec1 sigpipe1 sortempty sortglos spacere \
splitargv splitarr splitdef splitvar splitwht status-close \
strcat1 strfieldnum strnum1 strnum2 strtod 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 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 \
arraysort2 arraytype asortbool backw badargs beginfile1 beginfile2 \
binmode1 charasbytes clos1way clos1way2 clos1way3 clos1way4 \
clos1way5 clos1way6 colonwarn commas crlf dbugeval dbugeval2 \
dbugeval3 dbugtypedre1 dbugtypedre2 delsub devfd devfd1 devfd2 \
dfacheck1 dumpvars errno exit fieldwdth forcenum fpat1 fpat2 \
fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull fsfwfs functab1 \
functab2 functab3 functab6 funlen 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 \
indirectcall3 intarray iolint isarrayunset lint \
lintexp lintindex lintint lintlength lintold lintplus lintset \
lintwarn manyfiles match1 match2 match3 mbstr1 mbstr2 mdim1 mdim2 \
mdim3 mdim4 mixed1 mktime modifiers muldimposix nastyparm negtime \
next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 nsawk1a nsawk1b \
nsawk1c nsawk2a nsawk2b nsbad nsbad2 nsbad3 nsbad_cmd nsforloop \
nsfuncrecurse nsidentifier nsindirect1 nsindirect2 nsprof1 nsprof2 \
octdec patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 \
printhuge procinfs profile0 profile1 profile2 profile3 profile4 \
profile5 profile6 profile7 profile8 profile9 profile10 profile11 \
profile12 profile13 profile14 profile15 profile16 profile17 pty1 \
pty2 rebuf regexsub reginttrad regnul1 regnul2 regx8bit reint \
reint2 rsgetline rsglstdin rsstart1 rsstart2 rsstart3 rstest6 \
sandbox1 shadow shadowbuiltin sortfor sortfor2 sortu sourcesplit \
split_after_fpat splitarg4 strftfld strftime strtonum strtonum1 \
stupid1 stupid2 stupid3 stupid4 stupid5 switch2 symtab1 symtab2 \
symtab3 symtab4 symtab5 symtab6 symtab7 symtab8 symtab9 symtab10 \
symtab11 symtab12 timeout typedregex1 typedregex2 typedregex3 \
typedregex4 typedregex5 typedregex6 typeof1 typeof2 typeof3 \
typeof4 typeof5 typeof6 watchpoint1
ARRAYDEBUG_TESTS = arrdbg
EXTRA_TESTS = inftest regtest ignrcas3
INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 inf-nan-torture intformat
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 functab5 \
getfile \
indirectbuiltin2 \
inplace1 inplace2 inplace2bcomp inplace3 inplace3bcomp \
ordchr ordchr2 \
readall \
readdir readdir_test readdir_retest readfile readfile2 revout \
revtwoway rwarray \
testext time
# List of the tests which should be run with --debug option:
NEED_DEBUG = dbugtypedre1 dbugtypedre2 dbugeval2 dbugeval3
# List of the tests which should be run with --lint option:
NEED_LINT = \
defref fmtspcl lintexp lintindex lintint lintlength lintplus \
lintwarn noeffect nofmtch nonl shadow uninit2 uninit3 uninit4 \
uninit5 uninitialized
# List of the tests which should be run with --lint-old option:
NEED_LINT_OLD = lintold
# List of tests that must be run with -M
NEED_MPFR = \
mpfranswer42 mpfrbigint mpfrbigint2 mpfrcase mpfrcase2 \
mpfrexprange mpfrfield mpfrieee mpfrmemok1 mpfrnegzero \
mpfrnegzero2 mpfrnonum mpfrnr mpfrrem mpfrrnd mpfrrndeval mpfrsort \
mpfrsqrt mpfrstrtonum mpfruplus mpgforcenum
# List of tests that need --non-decimal-data
NEED_NONDEC = mpfrbigint2 nondec2 intarray forcenum
# List of tests that need --posix
NEED_POSIX = escapebrace printf0 posix2008sub paramasfunc1 paramasfunc2 muldimposix posix_compare
# List of tests that need --pretty-print
NEED_PRETTY = nsprof1 nsprof2 \
profile4 profile5 profile8 profile9 profile10 profile11 profile13 \
profile14 profile15 profile16 profile17
# List of tests that need --re-interval
NEED_RE_INTERVAL = gsubtst3 reint reint2
# List of tests that need --sandbox
NEED_SANDBOX = sandbox1
# List of tests that need --traditional
NEED_TRADITIONAL = litoct tradanch rscompat
# Lists of tests that need the PMA allocator and a backing file
NEED_PMA = pma
# Lists of tests that run a shell script
RUN_SHELL = exit fflush localenl modifiers next randtest rtlen rtlen01
# 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
# Lists of tests that need particular locales
NEED_LOCALE_C = \
clos1way gsubtst6 range2
NEED_LOCALE_EN = \
backbigs1 backsmalls1 backsmalls2 commas concat4 dfamb1 ignrcas2 lc_num1 \
mbfw1 mbprintf1 mbprintf3 mbprintf4 mbstr1 mbstr2 posix_compare \
printhuge reint2 rri1 subamp subi18n wideidx wideidx2 \
widesub widesub2 widesub3 widesub4
# Unused at the moment, since nlstringtest has additional stuff it does
# NEED_LOCALE_FR =
# Same for ignrcas3
# NEED_LOCALE_GR =
NEED_LOCALE_JP = mbprintf2
NEED_LOCALE_RU = mtchi18n
# List of tests that fail on MinGW
EXPECTED_FAIL_MINGW = \
backbigs1 backsmalls1 clos1way6 close_status devfd devfd1 devfd2 \
errno exitval2 fork fork2 fts functab5 \
getfile getlnhd ignrcas3 inetdayt inetecht inf-nan-torture \
iolint mbfw1 mbprintf1 mbprintf4 mbstr1 mbstr2 \
pid pipeio2 pty1 pty2 readdir rstest4 rstest5 status-close timeout
# List of tests that fail on z/OS
EXPECTED_FAIL_ZOS = \
aasort aasorti arraysort asort asorti backbigs1 backsmalls1 \
backsmalls2 beginfile1 beginfile2 charasbytes commas clos1way6 concat4 \
dfamb1 double1 double2 errno fmttest forcenum getlndir gsubtst5 \
ignrcas2 inf-nan-torture iolint lc_num1 mbfw1 mbprintf1 \
mbprintf2 mbprintf3 mbprintf4 mbprintf5 mbstr1 mbstr2 mtchi18n \
nlstringtest nofile nonfatal2 numrange posix_compare printhuge \
profile5 rebt8b2 regrange reint2 rri1 sigpipe1 sort1 sortfor \
sortu space sprintfc subamp subi18n symtab1 symtab11 symtab8 \
timeout wideidx wideidx2 widesub widesub2 widesub3 widesub4
ZOS_FAIL = @ZOS_FAIL@
# List of the files that appear in manual tests or are for reserve testing:
GENTESTS_UNUSED = Makefile.in checknegtime.awk dtdgport.awk fix-fmtspcl.awk \
fmtspcl-mpfr.ok fmtspcl.awk fmtspcl.tok gtlnbufv.awk hello.awk \
inchello.awk inclib.awk inplace.1.in inplace.2.in inplace.in \
printfloat.awk readdir0.awk valgrind.awk xref.awk \
readall1.awk readall2.awk
# List of tests on MinGW that need a different cmp program
NEED_TESTOUTCMP = \
beginfile2 double2 exit fmttest hsprint posix profile5 space
CMP = cmp
AWKPROG = ../gawk$(EXEEXT)
SORT = sort
SORT2 = LC_ALL=C sort
# 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 GAWK_NO_MPFR_WARN=1 $(VALGRIND) $(AWKPROG) $(GAWK_TEST_ARGS)
# 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: env-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 \
charset-tests-all \
shlib-msg-start shlib-tests shlib-msg-end \
mpfr-msg-start mpfr-tests mpfr-msg-end \
pma-msg-start pma-tests pma-msg-end \
machine-msg-start machine-tests machine-msg-end
@$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
unix-tests: $(UNIX_TESTS)
gawk-extensions: $(GAWK_EXT_TESTS)
charset-tests-all:
@case `uname` in \
*MINGW* | *MS-DOS*) \
$(MAKE) charset-msg-start charset-tests charset-msg-end ;; \
*) \
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 ;; \
esac
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) $(NEED_MPFR) ; \
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)
env-check:
@if [ "$$GAWK_PERSIST_FILE" != "" ]; then \
echo ; \
echo '**********************************************************************************' ; \
echo '* Please remove GAWK_PERSIST_FILE from the environment before running the tests. *' ; \
echo '**********************************************************************************' ; \
echo ; \
exit 1; \
fi
pma-msg-start:
@echo "======== Starting PMA tests ========"
pma-msg-end:
@echo "======== Done with PMA tests ========"
pma-tests:
@if $(AWK) --version | $(AWK) ' /PMA/ { exit 1 }' ; then \
echo PMA tests not supported on this system ; \
else \
$(MAKE) makepmafile ; \
./makepmafile ; \
$(MAKE) $(NEED_PMA) ; \
fi
makepmafile: makepmafile.c
$(CC) $< -o $@
pma:
@echo $@
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' > _$@ 2>&1
@GAWK_PERSIST_FILE=test.pma $(AWK) 'BEGIN { print ++i }' >> _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@-$(RM) -f test.pma
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 ========"
@echo "If any of these tests fail, don't worry too much."
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 ========"
# 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 || echo EXIT CODE: $$? >> _$@
@-$(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 - >_$@ || echo EXIT CODE: $$? >> _$@
@-rm -f ./argarray.input
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
regtest::
@echo $@
@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 $@
@rm -rf junk
@mkdir junk
@-$(AWK) 'BEGIN { for (i = 1; i <= 1030; i++) print i, i}' >_$@
@-$(AWK) -f "$(srcdir)"/manyfiles.awk _$@ _$@ || echo EXIT CODE: $$? >> _$@
@-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 >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
inftest::
@echo $@
@echo This test is very machine specific...
@-$(AWK) -f "$(srcdir)"/inftest.awk | sed "s/inf/Inf/g" >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
getline2::
@echo $@
@-$(AWK) -f "$(srcdir)"/getline2.awk "$(srcdir)"/getline2.awk "$(srcdir)"/getline2.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
awkpath::
@echo $@
@-AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
argtest::
@echo $@
@-$(AWK) -f "$(srcdir)"/argtest.awk -x -y abc >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
badargs::
@echo $@
@-$(AWK) -f 2>&1 | grep -v patchlevel >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
strftime::
@echo $@
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=C ; export GAWKLOCALE; \
TZ=GMT0; export TZ; \
$(AWK) -v OUTPUT=_$@ -v DATECMD="$(DATE)" -f "$(srcdir)"/strftime.awk || echo EXIT CODE: $$? >> _$@
@-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
devfd::
@echo $@
@-$(AWK) 1 /dev/fd/4 /dev/fd/5 4<"$(srcdir)"/devfd.in4 5<"$(srcdir)"/devfd.in5 >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# This cannot be autogenerated; we want it to read the input name
# on the command line.
errno:
@echo $@ $(ZOS_FAIL)
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
tweakfld::
@echo $@
@-$(AWK) -f "$(srcdir)"/tweakfld.awk "$(srcdir)"/tweakfld.in >_$@ || echo EXIT CODE: $$? >> _$@
@-rm -f errors.cleanup
@-$(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 $@
@-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 > _$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# fmtspcl.ok: fmtspcl.tok Makefile fix-fmtspcl.awk
# @$(AWK) -v "sd=$(srcdir)" -f "$(srcdir)/fix-fmtspcl.awk" < "$(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 _$@
pipeio1::
@echo $@
@-$(AWK) -f "$(srcdir)"/pipeio1.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-rm -f test1 test2
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
pipeio2::
@echo $@
@-$(AWK) -v SRCDIR="$(srcdir)" -f "$(srcdir)"/pipeio2.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
clobber::
@echo $@
@-$(AWK) -f "$(srcdir)"/clobber.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-$(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 >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
getlnbuf::
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -f getlnbuf.awk "$(srcdir)"/getlnbuf.in > _$@ || echo EXIT CODE: $$? >> _$@
@-AWKPATH="$(srcdir)" $(AWK) -f gtlnbufv.awk "$(srcdir)"/getlnbuf.in > _2$@ || echo EXIT CODE: $$? >> _$@
@-$(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 >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
space::
@echo $@ $(ZOS_FAIL)
@-$(AWK) -f ' ' "$(srcdir)"/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ || 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 _$@
# 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 >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
rsstart3::
@echo $@
@-head "$(srcdir)"/rsstart1.in | $(AWK) -f "$(srcdir)"/rsstart2.awk >_$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# FIXME: Gentests can't really deal with something that is both a shell script
# and requires a locale. We might can fix that ...
rtlenmb::
@echo $@
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE ; \
"$(srcdir)"/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nofile::
@echo $@ $(ZOS_FAIL)
@-$(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 _$@
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 _$@
mbprintf5::
@echo $@ $(ZOS_FAIL)
@-case `uname` in \
CYGWIN* | MSYS* | MINGW32* | *MS-DOS*) echo this test fails on this system --- skipping $@ ;; \
*) \
[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE ; \
$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \
$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \
esac
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 $@ $(ZOS_FAIL)
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)"/$@.awk . ./no/such/file Makefile >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
beginfile2:
@echo $@ $(ZOS_FAIL)
@-( cd "$(srcdir)" && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" $(abs_srcdir)/$@.sh $(abs_srcdir)/$@.in ) > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
dumpvars::
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) --dump-variables 1 < "$(srcdir)"/$@.in >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@ || 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 _$@
profile5:
@echo $@ $(ZOS_FAIL)
@-AWKPATH="$(srcdir)" $(AWK) --pretty=_$@ -f $@.awk 2> _$@.err
@-cat _$@.err >> _$@ ; rm -f _$@.err
@-$(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 _$@
profile12:
@echo $@
@-$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-rm ap-$@.out
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrieee:
@echo $@
@-$(AWK) -M -vPREC=double -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrexprange:
@echo $@
@-$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrrnd:
@echo $@
@-$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrsort:
@echo $@
@-$(AWK) -M -vPREC=53 -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfruplus:
@echo $@
@-$(AWK) -M -f "$(srcdir)"/uplus.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfranswer42:
@echo $@
@-$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrmemok1:
@echo $@
@-$(AWK) -p- -M -f "$(srcdir)"/$@.awk 2>&1 | sed 1d > _$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
mpfrsqrt:
@if $(AWK) --version | $(AWK) ' /API/ { exit 1 }' ; then \
true ; \
else \
echo $@ ; \
$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \
$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \
fi
jarebug::
@echo $@
@-"$(srcdir)"/$@.sh "$(AWKPROG)" "$(srcdir)"/$@.awk "$(srcdir)"/$@.in "_$@" || echo EXIT CODE: $$? >> _$@
@-$(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("$(srcdir)/Makefile.am")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)/Makefile.am" _$@ && rm -f _$@ || cp -p "$(srcdir)/Makefile.am" $@.ok
readfile2::
@echo $@
@-$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsawk1a::
@echo $@
@-$(AWK) -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsawk1b::
@echo $@
@-$(AWK) -v I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsawk1c::
@echo $@
@-$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsawk2a::
@echo $@
@-$(AWK) -v I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsawk2b::
@echo $@
@-$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk2.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
inplace2bcomp::
@echo $@
@-cp "$(srcdir)"/inplace.1.in _$@.1
@-cp "$(srcdir)"/inplace.2.in _$@.2
@-AWKPATH="$(srcdir)"/../awklib/eg/lib $(AWK) -i inplace -v INPLACE_SUFFIX=.orig '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.orig.ok _$@.1.orig && rm -f _$@.1.orig
@-$(CMP) "$(srcdir)"/$@.2.ok _$@.2 && rm -f _$@.2
@-$(CMP) "$(srcdir)"/$@.2.orig.ok _$@.2.orig && rm -f _$@.2.orig
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
inplace3bcomp::
@echo $@
@-cp "$(srcdir)"/inplace.1.in _$@.1
@-cp "$(srcdir)"/inplace.2.in _$@.2
@-AWKPATH="$(srcdir)"/../awklib/eg/lib $(AWK) -i inplace -v INPLACE_SUFFIX=.orig '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=.orig '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.orig.ok _$@.1.orig && rm -f _$@.1.orig
@-$(CMP) "$(srcdir)"/$@.2.ok _$@.2 && rm -f _$@.2
@-$(CMP) "$(srcdir)"/$@.2.orig.ok _$@.2.orig && rm -f _$@.2.orig
testext::
@echo $@
@-$(AWK) ' /^(@load|BEGIN|function)/,/^}/' "$(top_srcdir)"/extension/testext.c > testext.awk
@-$(AWK) -f ./testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-if echo "$$GAWK_TEST_ARGS" | egrep -e '-M|--bignum' > /dev/null; \
then $(CMP) "$(srcdir)"/$@-mpfr.ok _$@ && rm -f _$@ testext.awk testexttmp.txt ; \
else $(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ testext.awk testexttmp.txt ; fi
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:
@echo $@
@-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
@-$(AWK) -f "$(srcdir)"/readdir.awk "$(top_srcdir)" > _$@ || echo EXIT CODE: $$? >> _$@
@-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 _$@
readdir_retest:
@echo $@
@-$(AWK) -lreaddir -F/ -f "$(srcdir)"/$@.awk "$(top_srcdir)" > $@.ok
@-$(AWK) -lreaddir_test -F/ -f "$(srcdir)"/$@.awk "$(top_srcdir)" > _$@
@-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
readall:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -lrwarray -f $@1.awk -v "ofile=readall.state" > _$@
@-AWKPATH="$(srcdir)" $(AWK) -lrwarray -f $@2.awk -v "ifile=readall.state" >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@-$(RM) -f readall.state
fts:
@echo $@
@-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* | MSYS*) \
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
@-$(AWK) -f "$(srcdir)"/fts.awk || echo EXIT CODE: $$? >> _$@
@-$(CMP) $@.ok _$@ && rm -f $@.ok _$@
# BINMODE=2 is needed for PC tests.
charasbytes:
@echo $@ $(ZOS_FAIL)
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -b -v BINMODE=2 -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 $@
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
symtab8:
@echo $@ $(ZOS_FAIL)
@-$(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 >_$@ || echo EXIT CODE: $$? >> _$@
@-rm -f testit.txt
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
reginttrad:
@echo $@
@-$(AWK) --traditional -r -f "$(srcdir)"/$@.awk > _$@ || echo EXIT CODE: $$? >> _$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
colonwarn:
@echo $@
@-for i in 1 2 3 ; \
do $(AWK) -f "$(srcdir)"/$@.awk $$i < "$(srcdir)"/$@.in ; \
done > _$@ || 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
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 _$@
negtime::
@echo $@
@-TZ=GMT AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-AWKPATH="$(srcdir)" $(AWK) -f checknegtime.awk "$(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
ignrcas3::
@echo $@
@-if locale -a | grep el_GR.iso88597 > /dev/null ; then \
[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=el_GR.iso88597 ; export GAWKLOCALE; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ ; \
$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \
fi
arrdbg:
@echo $@
@-$(AWK) -v "okfile=./$@.ok" -v "mpfr_okfile=./$@-mpfr.ok" -f "$(srcdir)"/$@.awk | grep array_f >_$@ || echo EXIT CODE: $$? >> _$@
@-if echo "$$GAWK_TEST_ARGS" | egrep -e '-M|--bignum' > /dev/null; \
then $(CMP) "."/$@-mpfr.ok _$@ && rm -f _$@ $@.ok $@-mpfr.ok ; \
else $(CMP) "."/$@.ok _$@ && rm -f _$@ $@.ok $@-mpfr.ok ; fi
sourcesplit:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) --source='BEGIN { a = 5;' --source='print a }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
eofsrc1:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -f $@a.awk -f $@b.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsbad_cmd:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -v foo:bar=3 -v foo:::blat=4 1 /dev/null >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# Use [:] in the regexp to keep MSYS from converting the /'s to \'s.
nonfatal1:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk 2>&1 | $(AWK) '{print gensub(/invalid[:].*$$/, "invalid", 1, $$0)}' >_$@ || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# 4/2018: On first call to $(CMP), send to /dev/null even with -s for MinGW.
nlstringtest::
@echo $@ $(ZOS_FAIL)
@-[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=fr_FR.UTF-8 ; export GAWKLOCALE ; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-if $(CMP) -s "$(srcdir)"/nlstringtest-nogettext.ok _$@ > /dev/null ; \
then \
rm -f _$@ ; \
else \
$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ ; \
fi
longwrds:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk -v SORT="$(SORT)" < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
nsidentifier:
@echo $@
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk -v SORT="$(SORT2)" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
spacere:
@echo $@
@-LC_ALL=C AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
typedregex4:
@echo $@
@-$(AWK) -v x=@/foo/ -f "$(srcdir)"/$@.awk y=@/bar/ /dev/null >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
iolint:
@echo $@ $(ZOS_FAIL)
@echo hello > 'echo hello'
@-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
@-$(RM) -f cat 'echo hello' f1 f2 cksum
argcasfile:
@echo $@
@-$(AWK) -f "$(srcdir)"/$@.awk ARGC=1 ' /no/such/file' < "$(srcdir)/$@.in" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
indirectbuiltin2:
@echo $@
@-for test in 0 1 2 3 4 5 ; do \
AWKPATH="$(srcdir)" $(AWK) -v test=$$test -f $@.awk ; \
done > _$@ 2>&1 || exit 0
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
# Targets generated for other tests:
include Maketests
Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
files=`cd "$(srcdir)" && echo *.awk *.in *.sh`; \
$(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 \
readdir_test.ok readdir_retest.ok profile1.ok X_* makepmafile
# 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 echo "$$GAWK_TEST_ARGS" | egrep -e '-M|--bignum' > /dev/null && [ -r $${base}-mpfr.ok ]; then \
diff -u $${base}-mpfr.ok $$i ; \
elif echo "$$GAWK_TEST_ARGS" | egrep -e '-M|--bignum' > /dev/null && [ -r "$(srcdir)"/$${base}-mpfr.ok ]; then \
diff -u "$(srcdir)"/$${base}-mpfr.ok $$i ; \
elif [ -r $${base}.ok ]; then \
diff -u $${base}.ok $$i ; \
else \
diff -u "$(srcdir)"/$${base}.ok $$i ; \
fi ; \
fi ; \
done | more
# make things easier for z/OS
zos-diffout:
@for i in $(EXPECTED_FAIL_ZOS); do \
if [ -f _$$i ]; then mv -f _$$i X_$$i ; fi ; \
if [ ! -f X_$$i ]; then echo $$i apparently passed! please check ; fi ; done
@echo checking for new failures ...
@$(MAKE) diffout
# 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