aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog12
-rw-r--r--test/Makefile.am60
-rw-r--r--test/Makefile.in100
-rw-r--r--test/Maketests40
-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/strtonum1.awk5
-rw-r--r--test/strtonum1.ok2
28 files changed, 316 insertions, 16 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index c83c80e9..2a8fb86c 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,15 @@
+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-05-30 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (fsnul1): New test.
diff --git a/test/Makefile.am b/test/Makefile.am
index 546fce3d..050a1dd3 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 \
@@ -460,6 +462,8 @@ EXTRA_DIST = \
igncfs.ok \
ignrcas2.awk \
ignrcas2.ok \
+ ignrcas3.awk \
+ ignrcas3.ok \
ignrcase.awk \
ignrcase.in \
ignrcase.ok \
@@ -502,6 +506,8 @@ EXTRA_DIST = \
inplace3.2.bak.ok \
inputred.awk \
inputred.ok \
+ intarray.awk \
+ intarray.ok \
intest.awk \
intest.ok \
intformat.awk \
@@ -523,9 +529,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 \
@@ -605,6 +621,10 @@ EXTRA_DIST = \
mpfrsort.ok \
mpfrsqrt.awk \
mpfrsqrt.ok \
+ mpfrstrtonum.awk \
+ mpfrstrtonum.ok \
+ mpgforcenum.awk \
+ mpgforcenum.ok \
mtchi18n.awk \
mtchi18n.in \
mtchi18n.ok \
@@ -769,6 +789,8 @@ EXTRA_DIST = \
printfbad3.ok \
printfbad4.awk \
printfbad4.ok \
+ printfchar.awk \
+ printfchar.ok \
printfloat.awk \
printhuge.awk \
printhuge.ok \
@@ -979,6 +1001,8 @@ EXTRA_DIST = \
strtod.ok \
strtonum.awk \
strtonum.ok \
+ strtonum1.awk \
+ strtonum1.ok \
subamp.awk \
subamp.in \
subamp.ok \
@@ -1124,7 +1148,7 @@ 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 \
regeq regexpbrack regexpbrack2 \
@@ -1148,13 +1172,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 \
manyfiles match1 match2 match3 mbstr1 mbstr2 \
muldimposix \
nastyparm negtime next nondec nondec2 \
@@ -1166,7 +1190,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 \
typedregex1 typedregex2 typedregex3 typeof1 typeof2 typeof3 typeof4 \
timeout \
@@ -1179,7 +1203,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 \
@@ -1192,7 +1216,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:
@@ -1716,6 +1740,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: $$? >>_$@
@@ -1962,6 +1996,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 28365b83..3fe7c9ee 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 \
@@ -717,6 +719,8 @@ EXTRA_DIST = \
igncfs.ok \
ignrcas2.awk \
ignrcas2.ok \
+ ignrcas3.awk \
+ ignrcas3.ok \
ignrcase.awk \
ignrcase.in \
ignrcase.ok \
@@ -759,6 +763,8 @@ EXTRA_DIST = \
inplace3.2.bak.ok \
inputred.awk \
inputred.ok \
+ intarray.awk \
+ intarray.ok \
intest.awk \
intest.ok \
intformat.awk \
@@ -780,9 +786,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 \
@@ -862,6 +878,10 @@ EXTRA_DIST = \
mpfrsort.ok \
mpfrsqrt.awk \
mpfrsqrt.ok \
+ mpfrstrtonum.awk \
+ mpfrstrtonum.ok \
+ mpgforcenum.awk \
+ mpgforcenum.ok \
mtchi18n.awk \
mtchi18n.in \
mtchi18n.ok \
@@ -1026,6 +1046,8 @@ EXTRA_DIST = \
printfbad3.ok \
printfbad4.awk \
printfbad4.ok \
+ printfchar.awk \
+ printfchar.ok \
printfloat.awk \
printhuge.awk \
printhuge.ok \
@@ -1236,6 +1258,8 @@ EXTRA_DIST = \
strtod.ok \
strtonum.awk \
strtonum.ok \
+ strtonum1.awk \
+ strtonum1.ok \
subamp.awk \
subamp.in \
subamp.ok \
@@ -1380,7 +1404,7 @@ 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 \
regeq regexpbrack regexpbrack2 \
@@ -1404,13 +1428,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 \
manyfiles match1 match2 match3 mbstr1 mbstr2 \
muldimposix \
nastyparm negtime next nondec nondec2 \
@@ -1422,7 +1446,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 \
typedregex1 typedregex2 typedregex3 typeof1 typeof2 typeof3 typeof4 \
timeout \
@@ -1432,7 +1456,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 \
@@ -1446,7 +1470,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
@@ -2156,6 +2180,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: $$? >>_$@
@@ -2401,6 +2435,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
@@ -3384,6 +3428,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: $$? >>_$@
@@ -3876,6 +3925,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: $$? >>_$@
@@ -3906,11 +3960,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: $$? >>_$@
@@ -4046,6 +4125,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 125b337e..641ee5a7 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -695,6 +695,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: $$? >>_$@
@@ -1187,6 +1192,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: $$? >>_$@
@@ -1217,11 +1227,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: $$? >>_$@
@@ -1357,6 +1392,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/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