diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ChangeLog | 27 | ||||
-rw-r--r-- | test/Makefile.am | 64 | ||||
-rw-r--r-- | test/Makefile.in | 109 | ||||
-rw-r--r-- | test/Maketests | 45 | ||||
-rw-r--r-- | test/forcenum.awk | 8 | ||||
-rw-r--r-- | test/forcenum.ok | 7 | ||||
-rw-r--r-- | test/ignrcas3.awk | 7 | ||||
-rw-r--r-- | test/ignrcas3.ok | 2 | ||||
-rw-r--r-- | test/intarray.awk | 10 | ||||
-rw-r--r-- | test/intarray.ok | 8 | ||||
-rw-r--r-- | test/lintexp.awk | 9 | ||||
-rw-r--r-- | test/lintexp.ok | 2 | ||||
-rw-r--r-- | test/lintindex.awk | 10 | ||||
-rw-r--r-- | test/lintindex.ok | 4 | ||||
-rw-r--r-- | test/lintint.awk | 9 | ||||
-rw-r--r-- | test/lintint.ok | 2 | ||||
-rw-r--r-- | test/lintlength.awk | 6 | ||||
-rw-r--r-- | test/lintlength.ok | 2 | ||||
-rw-r--r-- | test/lintset.awk | 5 | ||||
-rw-r--r-- | test/lintset.ok | 1 | ||||
-rw-r--r-- | test/mpfrstrtonum.awk | 5 | ||||
-rw-r--r-- | test/mpfrstrtonum.ok | 2 | ||||
-rw-r--r-- | test/mpgforcenum.awk | 5 | ||||
-rw-r--r-- | test/mpgforcenum.ok | 1 | ||||
-rw-r--r-- | test/printfchar.awk | 7 | ||||
-rw-r--r-- | test/printfchar.ok | 1 | ||||
-rw-r--r-- | test/strnum2.awk | 18 | ||||
-rw-r--r-- | test/strnum2.ok | 4 | ||||
-rw-r--r-- | test/strtonum1.awk | 5 | ||||
-rw-r--r-- | test/strtonum1.ok | 2 |
30 files changed, 369 insertions, 18 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 57b23ab7..f0f346ee 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -3,6 +3,21 @@ * arrayind1.awk, arrayind1.ok: Comment out prints to stderr to avoid buffer flushing on obscure systems. +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. @@ -20,6 +35,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..499107c5 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 \ @@ -977,11 +999,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,7 +1159,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 \ @@ -1141,7 +1167,7 @@ BASIC_TESTS = \ 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 +1183,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 +1201,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 +1214,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 +1227,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 +1754,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 +2010,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..be42a250 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 \ @@ -1234,11 +1256,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,7 +1415,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 \ @@ -1397,7 +1423,7 @@ BASIC_TESTS = \ 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 +1439,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 +1457,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 +1467,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 +1481,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 +2194,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 +2449,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 +3452,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: $$? >>_$@ @@ -3598,6 +3649,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 +3959,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 +3994,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 +4159,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..f42ecdc6 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: $$? >>_$@ @@ -892,6 +897,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 +1207,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 +1242,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 +1407,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/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 |