aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog32
-rw-r--r--test/Makefile.am69
-rw-r--r--test/Makefile.in119
-rw-r--r--test/Maketests50
-rw-r--r--test/forcenum.awk8
-rw-r--r--test/forcenum.ok7
-rw-r--r--test/ignrcas3.awk7
-rw-r--r--test/ignrcas3.ok2
-rw-r--r--test/intarray.awk10
-rw-r--r--test/intarray.ok8
-rw-r--r--test/lintexp.awk9
-rw-r--r--test/lintexp.ok2
-rw-r--r--test/lintindex.awk10
-rw-r--r--test/lintindex.ok4
-rw-r--r--test/lintint.awk9
-rw-r--r--test/lintint.ok2
-rw-r--r--test/lintlength.awk6
-rw-r--r--test/lintlength.ok2
-rw-r--r--test/lintset.awk5
-rw-r--r--test/lintset.ok1
-rw-r--r--test/mpfrstrtonum.awk5
-rw-r--r--test/mpfrstrtonum.ok2
-rw-r--r--test/mpgforcenum.awk5
-rw-r--r--test/mpgforcenum.ok1
-rw-r--r--test/printfchar.awk7
-rw-r--r--test/printfchar.ok1
-rw-r--r--test/rebuild.awk5
-rw-r--r--test/rebuild.in1
-rw-r--r--test/rebuild.ok2
-rw-r--r--test/strnum2.awk18
-rw-r--r--test/strnum2.ok4
-rw-r--r--test/strtonum1.awk5
-rw-r--r--test/strtonum1.ok2
33 files changed, 400 insertions, 20 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 74eaae4a..8b4d70e8 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,9 +1,29 @@
+2016-07-03 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * Makefile.am (rebuild): New test.
+ * rebuild.awk, rebuild.in, rebuild.ok: New files.
+
2016-07-01 Arnold D. Robbins <arnold@skeeve.com>
* arrayind1.awk, arrayind1.ok: Comment out prints to stderr to
avoid buffer flushing on obscure systems.
* dumpvars.ok, symtab6.ok, symtab8.ok: Update after code changes.
+2016-06-26 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * strnum2.ok: Fix results, since print for a strnum should not be
+ affected by OFMT or CONVFMT.
+
+2016-06-22 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * strnum2.awk, strnum2.ok: Improve test case to show both OFMT and
+ CONVFMT conversions.
+
+2016-06-20 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * Makefile.am (strnum2): New test.
+ * strnum2.awk, strnum2.ok: New files.
+
2016-06-14 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (subback): New test.
@@ -21,6 +41,18 @@
* mixed1.ok: Adjust to match what the code produces.
Thanks to John E. Malmberg <wb8tyw@qsl.net> for the report.
+2016-06-13 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * Makefile.am (forcenum, ignrcas3, intarray, lintexp, lintindex,
+ lintint, lintlength, lintset, mpfrstrtonum, mpgforcenum, printfchar,
+ strtonum1): New tests.
+ * forcenum.awk, forcenum.ok, ignrcas3.awk, ignrcas3.ok, intarray.awk,
+ intarray.ok, lintexp.awk, lintexp.ok, lintindex.awk, lintindex.ok,
+ lintint.awk, lintint.ok, lintlength.awk, lintlength.ok, lintset.awk,
+ lintset.ok, mpfrstrtonum.awk, mpfrstrtonum.ok, mpgforcenum.awk,
+ mpgforcenum.ok, printfchar.awk, printfchar.ok, strtonum1.awk,
+ strtonum1.ok: New files.
+
2016-06-08 Arnold D. Robbins <arnold@skeeve.com>
* symtab10.awk, symtab10.in, symtab10.ok: New files.
diff --git a/test/Makefile.am b/test/Makefile.am
index 7ec75508..3a51b3ff 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -300,6 +300,8 @@ EXTRA_DIST = \
fnparydl-mpfr.ok \
fnparydl.awk \
fnparydl.ok \
+ forcenum.awk \
+ forcenum.ok \
fordel.awk \
fordel.ok \
fork.awk \
@@ -463,6 +465,8 @@ EXTRA_DIST = \
igncfs.ok \
ignrcas2.awk \
ignrcas2.ok \
+ ignrcas3.awk \
+ ignrcas3.ok \
ignrcase.awk \
ignrcase.in \
ignrcase.ok \
@@ -505,6 +509,8 @@ EXTRA_DIST = \
inplace3.2.bak.ok \
inputred.awk \
inputred.ok \
+ intarray.awk \
+ intarray.ok \
intest.awk \
intest.ok \
intformat.awk \
@@ -526,9 +532,19 @@ EXTRA_DIST = \
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 \
@@ -608,6 +624,10 @@ EXTRA_DIST = \
mpfrsort.ok \
mpfrsqrt.awk \
mpfrsqrt.ok \
+ mpfrstrtonum.awk \
+ mpfrstrtonum.ok \
+ mpgforcenum.awk \
+ mpgforcenum.ok \
mtchi18n.awk \
mtchi18n.in \
mtchi18n.ok \
@@ -772,6 +792,8 @@ EXTRA_DIST = \
printfbad3.ok \
printfbad4.awk \
printfbad4.ok \
+ printfchar.awk \
+ printfchar.ok \
printfloat.awk \
printhuge.awk \
printhuge.ok \
@@ -832,6 +854,9 @@ EXTRA_DIST = \
rebuf.awk \
rebuf.in \
rebuf.ok \
+ rebuild.awk \
+ rebuild.in \
+ rebuild.ok \
redfilnm.awk \
redfilnm.in \
redfilnm.ok \
@@ -977,11 +1002,15 @@ EXTRA_DIST = \
strftlng.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 \
@@ -1133,15 +1162,15 @@ BASIC_TESTS = \
octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
paramasfunc1 paramasfunc2 \
paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme \
- pcntplus posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+ pcntplus posix2008sub prdupval prec printf0 printf1 printfchar prmarscl prmreuse \
prt1eval prtoeval \
- rand randtest range1 readbuf rebrackloc rebt8b1 redfilnm \
+ 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 sigpipe1 sortempty sortglos splitargv splitarr splitdef \
- splitvar splitwht strcat1 strnum1 strtod subamp subback subi18n \
+ splitvar splitwht strcat1 strnum1 strnum2 strtod subamp subback subi18n \
subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
@@ -1157,13 +1186,13 @@ GAWK_EXT_TESTS = \
colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 clos1way6 \
crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
- fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
+ fieldwdth forcenum fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops gsubind \
- icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
+ icasefs icasers id igncdym igncfs ignrcas2 ignrcas3 ignrcase \
incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
- include include2 indirectbuiltin indirectcall indirectcall2 \
- lint lintold lintwarn \
+ include include2 indirectbuiltin indirectcall indirectcall2 intarray \
+ lint lintexp lintindex lintint lintlength lintold lintset lintwarn \
mixed1 manyfiles match1 match2 match3 mbstr1 mbstr2 \
muldimposix \
nastyparm negtime next nondec nondec2 \
@@ -1175,7 +1204,7 @@ GAWK_EXT_TESTS = \
rsstart2 rsstart3 rstest6 shadow shadowbuiltin \
sortfor sortu split_after_fpat \
splitarg4 strftime \
- strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
+ strtonum strtonum1 switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9 symtab10 \
typedregex1 typedregex2 typedregex3 typeof1 typeof2 typeof3 typeof4 \
timeout \
@@ -1188,7 +1217,7 @@ INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
MPFR_TESTS = mpfrnr mpfrnegzero mpfrmemok1 mpfrrem mpfrrnd mpfrieee \
- mpfrexprange mpfrsort mpfrsqrt mpfrbigint
+ mpfrexprange mpfrsort mpfrsqrt mpfrbigint mpfrstrtonum mpgforcenum
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
@@ -1201,7 +1230,7 @@ SHLIB_TESTS = \
# List of the tests which should be run with --lint option:
NEED_LINT = \
- defref fmtspcl lintwarn noeffect nofmtch shadow \
+ 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:
@@ -1728,6 +1757,16 @@ nondec2::
@$(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: $$? >>_$@
@@ -1974,6 +2013,16 @@ mpfrsqrt:
@$(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 _$@
+
+mpgforcenum:
+ @echo $@
+ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
mpfrrem:
@echo $@
@$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
diff --git a/test/Makefile.in b/test/Makefile.in
index dda34978..29064326 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -557,6 +557,8 @@ EXTRA_DIST = \
fnparydl-mpfr.ok \
fnparydl.awk \
fnparydl.ok \
+ forcenum.awk \
+ forcenum.ok \
fordel.awk \
fordel.ok \
fork.awk \
@@ -720,6 +722,8 @@ EXTRA_DIST = \
igncfs.ok \
ignrcas2.awk \
ignrcas2.ok \
+ ignrcas3.awk \
+ ignrcas3.ok \
ignrcase.awk \
ignrcase.in \
ignrcase.ok \
@@ -762,6 +766,8 @@ EXTRA_DIST = \
inplace3.2.bak.ok \
inputred.awk \
inputred.ok \
+ intarray.awk \
+ intarray.ok \
intest.awk \
intest.ok \
intformat.awk \
@@ -783,9 +789,19 @@ EXTRA_DIST = \
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 \
@@ -865,6 +881,10 @@ EXTRA_DIST = \
mpfrsort.ok \
mpfrsqrt.awk \
mpfrsqrt.ok \
+ mpfrstrtonum.awk \
+ mpfrstrtonum.ok \
+ mpgforcenum.awk \
+ mpgforcenum.ok \
mtchi18n.awk \
mtchi18n.in \
mtchi18n.ok \
@@ -1029,6 +1049,8 @@ EXTRA_DIST = \
printfbad3.ok \
printfbad4.awk \
printfbad4.ok \
+ printfchar.awk \
+ printfchar.ok \
printfloat.awk \
printhuge.awk \
printhuge.ok \
@@ -1089,6 +1111,9 @@ EXTRA_DIST = \
rebuf.awk \
rebuf.in \
rebuf.ok \
+ rebuild.awk \
+ rebuild.in \
+ rebuild.ok \
redfilnm.awk \
redfilnm.in \
redfilnm.ok \
@@ -1234,11 +1259,15 @@ EXTRA_DIST = \
strftlng.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 \
@@ -1389,15 +1418,15 @@ BASIC_TESTS = \
octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
paramasfunc1 paramasfunc2 \
paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme \
- pcntplus posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+ pcntplus posix2008sub prdupval prec printf0 printf1 printfchar prmarscl prmreuse \
prt1eval prtoeval \
- rand randtest range1 readbuf rebrackloc rebt8b1 redfilnm \
+ 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 sigpipe1 sortempty sortglos splitargv splitarr splitdef \
- splitvar splitwht strcat1 strnum1 strtod subamp subback subi18n \
+ splitvar splitwht strcat1 strnum1 strnum2 strtod subamp subback subi18n \
subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
@@ -1413,13 +1442,13 @@ GAWK_EXT_TESTS = \
colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 clos1way6 \
crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
devfd devfd1 devfd2 dumpvars errno exit \
- fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
+ fieldwdth forcenum fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops gsubind \
- icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
+ icasefs icasers id igncdym igncfs ignrcas2 ignrcas3 ignrcase \
incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
- include include2 indirectbuiltin indirectcall indirectcall2 \
- lint lintold lintwarn \
+ include include2 indirectbuiltin indirectcall indirectcall2 intarray \
+ lint lintexp lintindex lintint lintlength lintold lintset lintwarn \
mixed1 manyfiles match1 match2 match3 mbstr1 mbstr2 \
muldimposix \
nastyparm negtime next nondec nondec2 \
@@ -1431,7 +1460,7 @@ GAWK_EXT_TESTS = \
rsstart2 rsstart3 rstest6 shadow shadowbuiltin \
sortfor sortu split_after_fpat \
splitarg4 strftime \
- strtonum switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
+ strtonum strtonum1 switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 \
symtab7 symtab8 symtab9 symtab10 \
typedregex1 typedregex2 typedregex3 typeof1 typeof2 typeof3 typeof4 \
timeout \
@@ -1441,7 +1470,7 @@ EXTRA_TESTS = inftest regtest
INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
MPFR_TESTS = mpfrnr mpfrnegzero mpfrmemok1 mpfrrem mpfrrnd mpfrieee \
- mpfrexprange mpfrsort mpfrsqrt mpfrbigint
+ mpfrexprange mpfrsort mpfrsqrt mpfrbigint mpfrstrtonum mpgforcenum
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
@@ -1455,7 +1484,7 @@ SHLIB_TESTS = \
# List of the tests which should be run with --lint option:
NEED_LINT = \
- defref fmtspcl lintwarn noeffect nofmtch shadow \
+ defref fmtspcl lintexp lintindex lintint lintlength lintwarn noeffect nofmtch shadow \
uninit2 uninit3 uninit4 uninit5 uninitialized
@@ -2168,6 +2197,16 @@ nondec2::
@$(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: $$? >>_$@
@@ -2413,6 +2452,16 @@ mpfrsqrt:
@$(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 _$@
+
+mpgforcenum:
+ @echo $@
+ @$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
mpfrrem:
@echo $@
@$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
@@ -3406,6 +3455,11 @@ printf1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+printfchar:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
prmarscl:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -3453,6 +3507,11 @@ rebt8b1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+rebuild:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
regeq:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -3598,6 +3657,11 @@ strnum1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+strnum2:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
strtod:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -3903,6 +3967,11 @@ igncfs:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ignrcas3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
ignrcase:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -3933,11 +4002,36 @@ lint:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+lintexp:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintindex:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintint:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintlength:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
lintold:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint-old < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+lintset:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
lintwarn:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -4073,6 +4167,11 @@ strtonum:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+strtonum1:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
switch2:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 59ff889a..525a44d1 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -700,6 +700,11 @@ printf1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+printfchar:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
prmarscl:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -747,6 +752,11 @@ rebt8b1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+rebuild:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
regeq:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -892,6 +902,11 @@ strnum1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+strnum2:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
strtod:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1197,6 +1212,11 @@ igncfs:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+ignrcas3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
ignrcase:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1227,11 +1247,36 @@ lint:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+lintexp:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintindex:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintint:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+lintlength:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
lintold:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint-old < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+lintset:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
lintwarn:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1367,6 +1412,11 @@ strtonum:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+strtonum1:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
switch2:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/forcenum.awk b/test/forcenum.awk
new file mode 100644
index 00000000..54c536c9
--- /dev/null
+++ b/test/forcenum.awk
@@ -0,0 +1,8 @@
+BEGIN {
+ # first, make some strnums
+ nf = split("|5apple|+NaN| 6|0x1az|011Q|027", f, "|")
+ for (i = 1; i <= nf; i++) {
+ x = f[i]+0 # trigger strnum conversion to number or string
+ printf "[%s] -> %g (type %s)\n", f[i], f[i], typeof(f[i])
+ }
+}
diff --git a/test/forcenum.ok b/test/forcenum.ok
new file mode 100644
index 00000000..c74eefc7
--- /dev/null
+++ b/test/forcenum.ok
@@ -0,0 +1,7 @@
+[] -> 0 (type string)
+[5apple] -> 5 (type string)
+[+NaN] -> nan (type number)
+[ 6] -> 6 (type number)
+[0x1az] -> 26 (type string)
+[011Q] -> 9 (type string)
+[027] -> 23 (type number)
diff --git a/test/ignrcas3.awk b/test/ignrcas3.awk
new file mode 100644
index 00000000..e74eea64
--- /dev/null
+++ b/test/ignrcas3.awk
@@ -0,0 +1,7 @@
+BEGIN {
+ x = "0"
+ print x+0 # trigger NUMCUR
+ IGNORECASE = x # should enable ignorecase, since x is a non-null string
+ y = "aBc"
+ print (y ~ /abc/)
+}
diff --git a/test/ignrcas3.ok b/test/ignrcas3.ok
new file mode 100644
index 00000000..0d66ea1a
--- /dev/null
+++ b/test/ignrcas3.ok
@@ -0,0 +1,2 @@
+0
+1
diff --git a/test/intarray.awk b/test/intarray.awk
new file mode 100644
index 00000000..2c30bd5f
--- /dev/null
+++ b/test/intarray.awk
@@ -0,0 +1,10 @@
+BEGIN {
+ nf = split("5 |05|0x4|00| 5|-0x12| 011|-013", f, "|")
+ for (i = 1; i <= nf; i++) {
+ delete g
+ z = f[i]+0 # trigger numeric conversion
+ g[f[i]]
+ for (x in g)
+ printf "[%s]\n", x
+ }
+}
diff --git a/test/intarray.ok b/test/intarray.ok
new file mode 100644
index 00000000..d4df7b8c
--- /dev/null
+++ b/test/intarray.ok
@@ -0,0 +1,8 @@
+[5 ]
+[05]
+[0x4]
+[00]
+[ 5]
+[-0x12]
+[ 011]
+[-013]
diff --git a/test/lintexp.awk b/test/lintexp.awk
new file mode 100644
index 00000000..082d7447
--- /dev/null
+++ b/test/lintexp.awk
@@ -0,0 +1,9 @@
+BEGIN {
+ split("0|0a", f, "|")
+ z = exp(f[1]) # no warning, since strnum converted to number
+ x = f[2]+0 # trigger NUMCUR
+ z = exp(f[2]) # should print a warning
+ x = "0"
+ y = x+0 # trigger NUMCUR
+ z = exp(x) # should print a warning, since x is still a string!
+}
diff --git a/test/lintexp.ok b/test/lintexp.ok
new file mode 100644
index 00000000..33122f6d
--- /dev/null
+++ b/test/lintexp.ok
@@ -0,0 +1,2 @@
+gawk: lintexp.awk:5: warning: exp: received non-numeric argument
+gawk: lintexp.awk:8: warning: exp: received non-numeric argument
diff --git a/test/lintindex.awk b/test/lintindex.awk
new file mode 100644
index 00000000..8e6d7e56
--- /dev/null
+++ b/test/lintindex.awk
@@ -0,0 +1,10 @@
+BEGIN {
+ x = 537
+ y = 3
+ z = index(x, y) # should print lint warning
+ # now that STRCUR has been trigged on x and y, check that we still
+ # get the warning
+ z = index(x, y) # should print lint warning
+ if (z != 2)
+ print "oops"
+}
diff --git a/test/lintindex.ok b/test/lintindex.ok
new file mode 100644
index 00000000..b89db6a5
--- /dev/null
+++ b/test/lintindex.ok
@@ -0,0 +1,4 @@
+gawk: lintindex.awk:4: warning: index: received non-string first argument
+gawk: lintindex.awk:4: warning: index: received non-string second argument
+gawk: lintindex.awk:7: warning: index: received non-string first argument
+gawk: lintindex.awk:7: warning: index: received non-string second argument
diff --git a/test/lintint.awk b/test/lintint.awk
new file mode 100644
index 00000000..f4f687b0
--- /dev/null
+++ b/test/lintint.awk
@@ -0,0 +1,9 @@
+BEGIN {
+ split("0|0a", f, "|")
+ z = int(f[1]) # no warning, since strnum converted to number
+ x = f[2]+0 # trigger NUMCUR
+ z = int(f[2]) # should print a warning
+ x = "0"
+ y = x+0 # trigger NUMCUR
+ z = int(x) # should print a warning, since x is still a string!
+}
diff --git a/test/lintint.ok b/test/lintint.ok
new file mode 100644
index 00000000..5bd5d589
--- /dev/null
+++ b/test/lintint.ok
@@ -0,0 +1,2 @@
+gawk: lintint.awk:5: warning: int: received non-numeric argument
+gawk: lintint.awk:8: warning: int: received non-numeric argument
diff --git a/test/lintlength.awk b/test/lintlength.awk
new file mode 100644
index 00000000..ad217912
--- /dev/null
+++ b/test/lintlength.awk
@@ -0,0 +1,6 @@
+BEGIN {
+ x = 5
+ z = length(x) # should issue a warning
+ y = (x "") # trigger STRCUR
+ z = length(x) # should still issue a warning
+}
diff --git a/test/lintlength.ok b/test/lintlength.ok
new file mode 100644
index 00000000..cb369f7f
--- /dev/null
+++ b/test/lintlength.ok
@@ -0,0 +1,2 @@
+gawk: lintlength.awk:3: warning: length: received non-string argument
+gawk: lintlength.awk:5: warning: length: received non-string argument
diff --git a/test/lintset.awk b/test/lintset.awk
new file mode 100644
index 00000000..8d52eeb4
--- /dev/null
+++ b/test/lintset.awk
@@ -0,0 +1,5 @@
+BEGIN {
+ split("0a", f) # set f[0] to a strnum that is really a string
+ LINT = f[1] # lint should be enabled
+ x = exp("0") # should generate a warning
+}
diff --git a/test/lintset.ok b/test/lintset.ok
new file mode 100644
index 00000000..7d67c614
--- /dev/null
+++ b/test/lintset.ok
@@ -0,0 +1 @@
+gawk: lintset.awk:4: warning: exp: received non-numeric argument
diff --git a/test/mpfrstrtonum.awk b/test/mpfrstrtonum.awk
new file mode 100644
index 00000000..79d6ad13
--- /dev/null
+++ b/test/mpfrstrtonum.awk
@@ -0,0 +1,5 @@
+BEGIN {
+ x = "011"
+ print x+0 # trigger NUMCUR
+ print strtonum(x)
+}
diff --git a/test/mpfrstrtonum.ok b/test/mpfrstrtonum.ok
new file mode 100644
index 00000000..48a9ed43
--- /dev/null
+++ b/test/mpfrstrtonum.ok
@@ -0,0 +1,2 @@
+11
+9
diff --git a/test/mpgforcenum.awk b/test/mpgforcenum.awk
new file mode 100644
index 00000000..b2d0b6f1
--- /dev/null
+++ b/test/mpgforcenum.awk
@@ -0,0 +1,5 @@
+BEGIN {
+ split("5apple", f) # make a strnum
+ x = f[1]+0 # force strnum conversion to number or string
+ print typeof(f[1]) # should be string
+}
diff --git a/test/mpgforcenum.ok b/test/mpgforcenum.ok
new file mode 100644
index 00000000..ee8a39c3
--- /dev/null
+++ b/test/mpgforcenum.ok
@@ -0,0 +1 @@
+string
diff --git a/test/printfchar.awk b/test/printfchar.awk
new file mode 100644
index 00000000..9e703c31
--- /dev/null
+++ b/test/printfchar.awk
@@ -0,0 +1,7 @@
+BEGIN {
+ x[65]
+ for (i in x) {
+ # i should be a string
+ printf "%c\n", i # should print 1st char of string
+ }
+}
diff --git a/test/printfchar.ok b/test/printfchar.ok
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/test/printfchar.ok
@@ -0,0 +1 @@
+6
diff --git a/test/rebuild.awk b/test/rebuild.awk
new file mode 100644
index 00000000..7320f192
--- /dev/null
+++ b/test/rebuild.awk
@@ -0,0 +1,5 @@
+{
+ $1 = "test"
+ print $0
+ print typeof($2)
+}
diff --git a/test/rebuild.in b/test/rebuild.in
new file mode 100644
index 00000000..b2901ea9
--- /dev/null
+++ b/test/rebuild.in
@@ -0,0 +1 @@
+a b
diff --git a/test/rebuild.ok b/test/rebuild.ok
new file mode 100644
index 00000000..29635279
--- /dev/null
+++ b/test/rebuild.ok
@@ -0,0 +1,2 @@
+test b
+strnum
diff --git a/test/strnum2.awk b/test/strnum2.awk
new file mode 100644
index 00000000..44931d5f
--- /dev/null
+++ b/test/strnum2.awk
@@ -0,0 +1,18 @@
+BEGIN {
+ split(" 1.234 ", f, "|") # create a numeric string (strnum) value
+ OFMT = "%.1f"
+ CONVFMT = "%.2f"
+
+ # Check whether a strnum is displayed the same way before and
+ # after force_number is called. Also, should numeric strings
+ # be formatted with OFMT and CONVFMT or show the original string value?
+
+ print f[1] # OFMT
+ print (f[1] "") # CONVFMT
+
+ # force conversion to NUMBER if it has not happened already
+ x = f[1]+0
+
+ print f[1] # OFMT
+ print (f[1] "") # CONVFMT
+}
diff --git a/test/strnum2.ok b/test/strnum2.ok
new file mode 100644
index 00000000..63898bd4
--- /dev/null
+++ b/test/strnum2.ok
@@ -0,0 +1,4 @@
+ 1.234
+ 1.234
+ 1.234
+ 1.234
diff --git a/test/strtonum1.awk b/test/strtonum1.awk
new file mode 100644
index 00000000..79d6ad13
--- /dev/null
+++ b/test/strtonum1.awk
@@ -0,0 +1,5 @@
+BEGIN {
+ x = "011"
+ print x+0 # trigger NUMCUR
+ print strtonum(x)
+}
diff --git a/test/strtonum1.ok b/test/strtonum1.ok
new file mode 100644
index 00000000..48a9ed43
--- /dev/null
+++ b/test/strtonum1.ok
@@ -0,0 +1,2 @@
+11
+9