diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 13:17:58 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2010-07-16 13:17:58 +0300 |
commit | e888f1834b88270590b7e04d64c03c75863e4565 (patch) | |
tree | ab679ecbf16dc4f11b90a53f4b1e0084d78c98b0 /test | |
parent | fae4762eba9ff7bb466a600130e9c90eaac6b0bc (diff) | |
download | gawk-e888f1834b88270590b7e04d64c03c75863e4565.tar.gz |
Move to gawk-3.1.2.gawk-3.1.2
Diffstat (limited to 'test')
112 files changed, 7673 insertions, 1180 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 10fc85a8..3da3d663 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,227 @@ +Wed Mar 19 14:10:31 2003 Arnold D. Robbins <arnold@skeeve.com> + + This time for sure. + -- Bullwinkle + + * Release 3.1.2: Release tar file made. + +Wed Mar 19 14:00:00 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (synerr1): New test. + * synerr1.awk, synerr1.ok: New files. + +Tue Mar 4 10:32:23 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (clean): Remove `core*' for modern Linux which + drops core in `core.PID' files. + +2003-02-17 Jim Meyering <jim@meyering.net> + + * Makefile.am (check): Don't depend on the pass-fail rule that + reports any failures. Otherwise, `make -j' that rule's commands + could run before all tests had completed, resulting in spurious + failures or potentially, even unreported failures. Instead, just + `$(MAKE) pass-fail'. + +Sun Feb 9 11:48:32 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am: Moved `space' into UNIX_TESTS. Breaks in + MS environments. + +Tue Feb 4 14:28:06 2003 Arnold D. Robbins <arnold@skeeve.com> + + All relevant files: Copyright year updated to 2003. + +Tue Feb 4 12:22:41 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (fnmisc): New test case. + * fnmisc.awk, fnmisc.ok: New files. + +Sun Feb 2 15:33:33 2003 Stepan Kasal <kasal@math.cas.cz> + + * getline3.awk, getline3.ok: Renamed from getline2.awk, getline2.ok + * Makefile.am (getline, getline2): getline renamed to getline2, + new test under the name getline. + * getline.awk, getline.ok, getline2.awk, getline2.ok: + rename getline.* getline2.*; new files getline.* . + * getline.awk, getline.ok: add tests for ``cmd | getline '' + * Makefile.am (printf0): New test. + * printf0.awk, printf0.ok: New files. + * fnarray.ok: The error message has changed. + +Thu Jan 30 15:32:56 2003 Stepan Kasal <kasal@math.cas.cz> + + * Makefile.am (splitarr, getline2, inputred, prec): New tests. + * splitarr.awk, splitarr.ok: New files. + * getline2.awk, getline2.ok: New files. + * inputred.awk, inputred.ok: New files. + * prec.awk, prec.ok: New files. + * noeffect.awk: add second no-effect command; two error messages + should be generated. Add some empty statements, to check that --lint + doesn't abort on them. + +Tue Jan 28 18:34:22 2003 Arnold D. Robbins <arnold@skeeve.com> + + * arrymem1.awk: Enhanced test. + * arrayme1.ok: Updated for new output + +Mon Jan 27 14:07:16 2003 Stepan Kasal <kasal@math.cas.cz> + + * nfldstr.awk: Add tests for automatic number conversion. + +Mon Jan 27 12:25:41 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (asort, asorti, match1): New tests. + * match1.awk, match1.in: New files. + * asort.awk, asort.in: New files. + * asorti.awk, asorti.in: New files. + +Mon Jan 27 12:10:16 2003 Stepan Kasal <kasal@math.cas.cz> + + * strtod.awk, strtod.in, strtod.ok: Added test for 0e0 and similar. + +Sun Jan 26 16:49:41 2003 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (zeroe0): New test. + * zeroe0.awk, zeroe0.in: New files. + +Thu Jan 2 11:09:12 2003 Arnold D. Robbins <arnold@skeeve.com> + + * parseme.ok, noparms.ok: Revised for bison 1.875. + +Tue Dec 31 16:54:44 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am: (poundbang): Fix code. + (efence): New target to remove _* files run with Electric Fence + but that are otherwise OK. + +Thu Dec 26 16:44:37 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (poundbang): Add code to handle systems with limits on + paths for #! files. + +Mon Dec 9 14:20:44 2002 Stepan Kasal <kasal@math.cas.cz> + + * Makefile.am (space): New test: ``gawk -f " " file'' should try + to include file ` '. + +Sun Nov 17 21:47:11 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (manyfiles): Reference $(srcdir)/$@.ok so can build + and test in a different directory. + +Sun Nov 3 14:47:59 2002 Arnold D. Robbins <arnold@skeeve.com> + + Move tests with inline input and/or programs into separate files so can let + Gentests do more work. Per Nelson Beebe, just print the name of each test. + + * Makefile.am (fstabplus, longwrds, fieldwdth, ignrcase, posix, rs, fsbs): + removed targets so will be generated by Gentests. + (negexp, resplit, childin, back89, nfldstr, nondec): ditto. + * Gentests: print name of test, make cmp not echo by prefixing with @. + * fstabplus.in: new file. + * fieldwdth.awk, fieldwdth.in: new files. + * ignrcase.awk, ignrcase.in: new files. + * longwrds.awk: send output to sort instead of letting makefile do it. + * longwrds.in: renamed from manpage. + * posix.in: new file. + * manyfiles.ok: new file. + * rs.awk: new file. + * fsbs.awk: new file. + * negexp.awk: new file. + * resplit.awk, resplit.in: new files. + * childin.awk, childin.in: new files. + * back89.awk: new file. + * nfldstr.awk, nfldstr.in: new files. + +Sun Nov 3 14:37:39 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (uninit2): new test case, requires lint. + * uninit2.awk, uninit2.ok: new files. + +Fri Nov 1 11:34:45 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (nondec): Always run this test. + +Tue Oct 29 10:40:47 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (EXTRA_DIST): Added Gentests to list of files + to distribute. + +Mon Oct 28 15:36:42 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (icasers, icasefs, rstest1, rstest2): new test cases. + (argarray): Remove argarray.in if not in srcdir. + * icasers.awk, icasers.in, icasers.ok: new files. + * icasefs.awk, icasefs.ok: new files. + * rstest1.awk, rstest1.ok: new files. + * rstest2.awk, rstest2.ok: new files. + +Mon Oct 28 12:25:25 2002 Stepan Kasal <kasal@math.cas.cz> + + * Makefile.am (uninitialized): New test. + * uninitialized.awk, uninitialized.ok: New files. + +Mon Oct 28 11:24:16 2002 Stepan Kasal <kasal@math.cas.cz> + + * Gentests: new script + * Maketests: new file, generated automatically by Gentests + * Makefile.am: new rules and variables to make use of Gentests; + Most targets removed, Gentests will take care + +Sun Oct 13 16:58:07 2002 Stepan Kasal <kasal@math.cas.cz> + + * Makefile.am (nfneg): new test case. + * nfneg.awk, nfneg.ok: new files. + +Mon Oct 7 09:38:07 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (noloop1, noloop2): new test cases. + * noloop.awk, noloop1.in, noloop1.ok, noloop2.in, noloop2.ok: + new files. + +Tue Oct 1 18:28:40 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (poundbang): Rewrote rule to avoid problems + with hardcoding of /tmp pathname. + (poundbang.awk): Changed the way it works. + (poundbang.ok): Removed. + +Thu Sep 5 13:31:28 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (rebuf): new test case. + * rebuf.awk, rebuf.in, rebuf.ok: new files. + +Wed Aug 21 15:31:57 2002 Andreas Buening <andreas.buening@nexgo.de> + + * Makefile.am (AWKPROG): Add $(EXEEXT) macro. + (PATH_SEPERATOR): Removed. + (poundbag): Added $(EXEEXT) and use of ${TMPDIR-/tmp}. + +Wed Aug 7 13:47:09 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (nulrsend): new test case. + * nulrsend.awk, nulrsend.in, nulrsend.ok: new files. + +Sun Aug 4 00:25:23 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (gsubtst3, gsubtst4): new test cases. + * gsubtst3.awk, gsubtst3.ok, gsubtst4.awk, gsubtst4.ok: new files. + +Thu May 9 22:31:36 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am (gsubtst2): new test case. + * gsubtest.awk, gsubtest.ok: Added new test. + * gsubtst2.awk, gsubtst2.ok: new files. + +Sun May 5 12:38:55 2002 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.am: Minor mods to use LC_ALL=C so that checks will + use the English messages, not any translations. + (manyfiles): Fixed (hopefully) to leave a file around if the + test fails, so that we don't get a spurious "ALL TESTS PASSED" + message. + Wed May 1 16:41:32 2002 Arnold D. Robbins <arnold@skeeve.com> * Release 3.1.1: Release tar file made. diff --git a/test/Gentests b/test/Gentests new file mode 100755 index 00000000..10401ddf --- /dev/null +++ b/test/Gentests @@ -0,0 +1,92 @@ +#!/usr/bin/gawk -f + +# This program should generate Maketests + +BEGIN { + # read the list of files + for (i = 2; i < ARGC; i++) + files[ARGV[i]] + + # throw it away + ARGC = 2 + + ntests = 0 +} + +# process the file Makefile.am: + +/^[A-Z_]*_TESTS *=/,/[^\\]$/ { + gsub(/(^[A-Z_]*_TESTS *=|\\$)/,"") + for (i = 1; i <= NF; i++) + tests[++ntests] = $i + next +} + +/^NEED_LINT *=/,/[^\\]$/ { + gsub(/(^NEED_LINT *=|\\$)/,"") + for (i = 1; i <= NF; i++) + lint[$i] + next +} + +/^GENTESTS_UNUSED *=/,/[^\\]$/ { + gsub(/(^GENTESTS_UNUSED *=|\\$)/,"") + for (i = 1; i <= NF; i++) + unused[$i] + next +} + +/^[a-zA-Z][a-zA-Z0-9]*:/ { + # remember all targets from Makefile.am + sub(/:.*/,"") + targets[$0] +} + +# Now write the output file: +END { + # this line tells automake to keep the comment with the rules: + print "Gt-dummy:" + print "# file Maketests, generated from Makefile.am by the Gentests program" + + for (i = 1; i <= ntests; i++) { + x = tests[i] + if (!(x in targets)) + generate(x) + } + + print "# end of file Maketests" +} + +function generate(x, s) +{ + if (!(x".awk" in files)) + printf "WARNING: file `%s.awk' not found.\n", x > "/dev/stderr" + else + delete files[x".awk"] + + print x ":" + + s = "" + if (x in lint) { + s = s " --lint" + delete lint[x] + } + if (x".in" in files) { + s = s " < $(srcdir)/$@.in" + delete files[x".in"] + } + + printf "\t@echo %s\n", x + printf "\t@AWKPATH=$(srcdir) $(AWK) -f $@.awk %s >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@\n", s + printf "\t@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@\n\n" +} + +END { + for (x in lint) + if (!(x in targets)) + printf "WARNING: --lint target `%s' is missing.\n", x > "/dev/stderr" + for (x in files) + if (!(x in unused) && \ + !(gensub(/\.(awk|in)$/,"","",x) in targets)) + printf "WARNING: unused file `%s'.\n", x > "/dev/stderr" +} diff --git a/test/Makefile.am b/test/Makefile.am index be4acada..fb0917b4 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,7 +1,7 @@ # # test/Makefile.am --- automake input file for gawk # -# Copyright (C) 1988-2002 the Free Software Foundation, Inc. +# Copyright (C) 1988-2003 the Free Software Foundation, Inc. # # This file is part of GAWK, the GNU implementation of the # AWK Programming Language. @@ -26,6 +26,8 @@ EXTRA_DIST = \ reg \ lib \ + Gentests \ + Maketests \ README \ addcomma.awk \ addcomma.in \ @@ -54,13 +56,20 @@ EXTRA_DIST = \ asgext.awk \ asgext.in \ asgext.ok \ + asort.awk \ + asort.ok \ + asorti.awk \ + asorti.ok \ awkpath.ok \ + back89.awk \ back89.in \ back89.ok \ backgsub.awk \ backgsub.in \ backgsub.ok \ badargs.ok \ + childin.awk \ + childin.in \ childin.ok \ clobber.awk \ clobber.ok \ @@ -92,6 +101,8 @@ EXTRA_DIST = \ eofsplit.ok \ fflush.ok \ fflush.sh \ + fieldwdth.awk \ + fieldwdth.in \ fieldwdth.ok \ fldchg.awk \ fldchg.in \ @@ -111,10 +122,13 @@ EXTRA_DIST = \ fnasgnm.awk \ fnasgnm.in \ fnasgnm.ok \ + fnmisc.awk \ + fnmisc.ok \ fnparydl.awk \ fnparydl.ok \ forsimp.awk \ forsimp.ok \ + fsbs.awk \ fsbs.in \ fsbs.ok \ fsfwfs.awk \ @@ -124,6 +138,7 @@ EXTRA_DIST = \ fsrs.in \ fsrs.ok \ fstabplus.awk \ + fstabplus.in \ fstabplus.ok \ funsemnl.awk \ funsemnl.ok \ @@ -136,7 +151,12 @@ EXTRA_DIST = \ gensub.in \ gensub.ok \ getline.awk \ + getline.in \ getline.ok \ + getline2.awk \ + getline2.ok \ + getline3.awk \ + getline3.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -156,18 +176,34 @@ EXTRA_DIST = \ gsubasgn.ok \ gsubtest.awk \ gsubtest.ok \ + gsubtst2.awk \ + gsubtst2.ok \ + gsubtst3.awk \ + gsubtst3.in \ + gsubtst3.ok \ + gsubtst4.awk \ + gsubtst4.ok \ gtlnbufv.awk \ hsprint.awk \ hsprint.ok \ + icasefs.awk \ + icasefs.ok \ + icasers.awk \ + icasers.in \ + icasers.ok \ igncdym.awk \ igncdym.in \ igncdym.ok \ igncfs.awk \ igncfs.in \ igncfs.ok \ + ignrcase.awk \ + ignrcase.in \ ignrcase.ok \ inftest.awk \ inftest.ok \ + inputred.awk \ + inputred.ok \ intest.awk \ intest.ok \ intprec.awk \ @@ -186,8 +222,11 @@ EXTRA_DIST = \ longsub.ok \ longwrds.awk \ longwrds.ok \ - manpage \ + longwrds.in \ manyfiles.awk \ + manyfiles.ok \ + match1.awk \ + match1.ok \ math.awk \ math.ok \ membug1.awk \ @@ -201,8 +240,13 @@ EXTRA_DIST = \ nasty.ok \ nasty2.awk \ nasty2.ok \ + negexp.awk \ negexp.ok \ + nfldstr.awk \ + nfldstr.in \ nfldstr.ok \ + nfneg.awk \ + nfneg.ok \ nfset.awk \ nfset.in \ nfset.ok \ @@ -218,6 +262,12 @@ EXTRA_DIST = \ noeffect.ok \ nofmtch.awk \ nofmtch.ok \ + noloop1.awk \ + noloop1.in \ + noloop1.ok \ + noloop2.awk \ + noloop2.in \ + noloop2.ok \ nondec.awk \ nondec.ok \ nonl.awk \ @@ -226,6 +276,9 @@ EXTRA_DIST = \ noparms.ok \ nors.in \ nors.ok \ + nulrsend.awk \ + nulrsend.in \ + nulrsend.ok \ numindex.awk \ numindex.in \ numindex.ok \ @@ -273,12 +326,16 @@ EXTRA_DIST = \ pipeio2.in \ pipeio2.ok \ posix.awk \ + posix.in \ posix.ok \ poundbang.awk \ - poundbang.ok \ prdupval.awk \ prdupval.in \ prdupval.ok \ + prec.awk \ + prec.ok \ + printf0.awk \ + printf0.ok \ printf1.awk \ printf1.ok \ printfloat.awk \ @@ -309,6 +366,9 @@ EXTRA_DIST = \ regtest.sh \ regx8bit.awk \ regx8bit.ok \ + rebuf.awk \ + rebuf.in \ + rebuf.ok \ reindops.awk \ reindops.in \ reindops.ok \ @@ -318,12 +378,19 @@ EXTRA_DIST = \ reparse.awk \ reparse.in \ reparse.ok \ + resplit.awk \ + resplit.in \ resplit.ok \ + rs.awk \ rs.in \ rs.ok \ rsnul1nl.awk \ rsnul1nl.in \ rsnul1nl.ok \ + rstest1.awk \ + rstest1.ok \ + rstest2.awk \ + rstest2.ok \ rswhite.awk \ rswhite.in \ rswhite.ok \ @@ -335,9 +402,12 @@ EXTRA_DIST = \ shadow.ok \ sort1.awk \ sort1.ok \ + space.ok \ splitargv.awk \ splitargv.in \ splitargv.ok \ + splitarr.awk \ + splitarr.ok \ splitdef.awk \ splitdef.ok \ splitvar.awk \ @@ -361,56 +431,84 @@ EXTRA_DIST = \ swaplns.awk \ swaplns.in \ swaplns.ok \ + synerr1.awk \ + synerr1.ok \ tradanch.awk \ tradanch.in \ tradanch.ok \ tweakfld.awk \ tweakfld.in \ tweakfld.ok \ + uninitialized.awk \ + uninitialized.ok \ + uninit2.awk \ + uninit2.ok \ + zeroe0.awk \ + zeroe0.ok \ zeroflag.awk \ zeroflag.ok -CMP = cmp -AWK = ../gawk +# try to keep these sorted +BASIC_TESTS = addcomma anchgsub argarray arrayparm arrayref arrymem1 arynasty \ + arynocls arysubnm asgext awkpath back89 backgsub childin clobber \ + clsflnam compare compare2 concat1 convfmt datanonl defref delarprm \ + dynlj eofsplit fldchg fldchgnf fnamedat fnarray fnarydel fnaryscl \ + fnasgnm fnmisc fnparydl forsimp fsbs fsrs fstabplus funsemnl funsmnam \ + funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest \ + gsubtst2 gsubtst3 gsubtst4 hsprint inputred intest intprec leaddig leadnl \ + litoct longsub longwrds math membug1 messages minusstr mmap8k \ + nasty nasty2 negexp nfldstr nfneg nfset nlfldsep nlinstr nlstrina \ + noeffect nofmtch noloop1 noloop2 nonl noparms nors nulrsend \ + numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts onlynl \ + opasnidx opasnslf paramdup paramtyp parseme pcntplus prdupval prec \ + printf0 printf1 prmarscl prmreuse prt1eval prtoeval psx96sub rand rebt8b1 \ + rebt8b2 redfilnm regeq reindops reparse resplit rs rsnul1nl \ + rstest1 rstest2 rswhite sclforin sclifin splitargv splitarr splitdef \ + splitvar splitwht sprintfc strtod subslash substr swaplns synerr1 \ + tradanch tweakfld uninitialized uninit2 zeroe0 zeroflag + +UNIX_TESTS = fflush getlnhd pid pipeio1 pipeio2 poundbang space strftlng + +GAWK_EXT_TESTS = argtest asort asorti badargs clos1way fieldwdth fsfwfs \ + gensub gnuops2 gnureops icasefs icasers igncdym igncfs ignrcase lint \ + match1 manyfiles nondec posix procinfs regx8bit rebuf reint shadow \ + sort1 strftime + +EXTRA_TESTS = regtest inftest + +INET_TESTS = inetechu inetecht inetdayu inetdayt + +# List of the tests which should be run with --lint option: +NEED_LINT = defref noeffect nofmtch shadow uninitialized uninit2 + +# List of the files that appear in manual tests or are for reserve testing: +GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk -# Special stuff for OS/2 -PATH_SEPARATOR = @PATH_SEPARATOR@ +CMP = cmp +AWKPROG = ../gawk$(EXEEXT) +AWK = LC_ALL=C $(AWKPROG) -# message stuff is to make it a little easier to follow +# Message stuff is to make it a little easier to follow. +# Make the pass-fail last and dependent on others to avoid +# spurious errors if `make -j' in effect. check: msg \ basic-msg-start basic basic-msg-end \ unix-msg-start unix-tests unix-msg-end \ - extend-msg-start gawk-extensions extend-msg-end \ - pass-fail + extend-msg-start gawk-extensions extend-msg-end + @$(MAKE) pass-fail -# try to keep these sorted -basic: addcomma anchgsub argarray arrayparm arrayref arynasty arynocls \ - arysubnm arrymem1 asgext awkpath back89 backgsub childin clobber \ - clsflnam compare compare2 concat1 convfmt datanonl defref delarprm dynlj eofsplit \ - fldchg fldchgnf fnamedat fnarray fnarydel fnaryscl fnasgnm \ - fnparydl forsimp fsbs fsrs fstabplus funsemnl funsmnam funstack getline \ - getlnbuf getnr2tb getnr2tm gsubasgn gsubtest hsprint intest \ - intprec leaddig leadnl litoct longsub longwrds math membug1 messages minusstr \ - mmap8k nasty nasty2 negexp nfldstr nfset nlfldsep nlinstr nlstrina \ - noeffect nofmtch nonl noparms nors numindex numsubstr octsub \ - ofmt ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup paramtyp \ - parseme pcntplus prdupval printf1 prmarscl prmreuse prt1eval \ - prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm regeq reindops \ - reparse resplit rs rsnul1nl rswhite sclforin sclifin splitargv \ - splitdef splitvar splitwht sprintfc strtod subslash substr \ - swaplns tradanch tweakfld zeroflag - -unix-tests: fflush getlnhd pid pipeio1 pipeio2 poundbang strftlng - -gawk-extensions: argtest badargs clos1way fieldwdth fsfwfs gensub \ - gnuops2 gnureops igncdym igncfs ignrcase lint manyfiles nondec \ - posix procinfs regx8bit reint shadow sort1 strftime - -extra: regtest inftest inet - -inet: inetmesg inetechu inetecht inetdayu inetdayt +basic: $(BASIC_TESTS) + +unix-tests: $(UNIX_TESTS) + +gawk-extensions: $(GAWK_EXT_TESTS) + +extra: $(EXTRA_TESTS) inet + +inet: inetmesg $(INET_TESTS) msg:: + @echo '' @echo 'Any output from "cmp" is bad news, although some differences' @echo 'in floating point values are probably benign -- in particular,' @echo 'some systems may omit a leading zero and the floating point' @@ -436,57 +534,40 @@ extend-msg-end: # This test is a PITA because increasingly, /tmp is getting -# mounted noexec. So, we'll test it. Sigh. +# 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:: - @cp $(AWK) /tmp/gawk - @if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > /dev/null ; \ - then \ - $(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \ - $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \ + @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 \ - echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \ + sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \ + chmod +x ./_pbd.awk ; \ + ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@`; \ fi - @rm -f /tmp/gawk - -swaplns:: - @$(AWK) -f $(srcdir)/swaplns.awk $(srcdir)/swaplns.in >_$@ - -$(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/poundbang.awk _`basename $@` && rm -f _`basename $@` _pbd.awk messages:: + @echo $@ @$(AWK) -f $(srcdir)/messages.awk >out2 2>out3 - -$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3 + @-$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3 argarray:: + @echo $@ @case $(srcdir) in \ .) : ;; \ *) cp $(srcdir)/argarray.in . ;; \ esac @TEST=test echo just a test | $(AWK) -f $(srcdir)/argarray.awk ./argarray.in - >_$@ - -$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@ - -fstabplus:: - @echo '1 2' | $(AWK) -f $(srcdir)/fstabplus.awk >_$@ - -$(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@ - -fsrs:: - @$(AWK) -f $(srcdir)/fsrs.awk $(srcdir)/fsrs.in >_$@ - -$(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@ - -igncfs:: - @$(AWK) -f $(srcdir)/igncfs.awk $(srcdir)/igncfs.in >_$@ - -$(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@ - -longwrds:: - @$(AWK) -f $(srcdir)/longwrds.awk $(srcdir)/manpage | (LC_ALL=C sort) >_$@ - -$(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@ - -fieldwdth:: - @echo '123456789' | $(AWK) -v FIELDWIDTHS="2 3 4" '{ print $$2}' >_$@ - -$(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@ - -ignrcase:: - @echo xYz | $(AWK) -v IGNORECASE=1 '{ sub(/y/, ""); print}' >_$@ - -$(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@ + @case $(srcdir) in \ + .) : ;; \ + *) rm -f ./argarray.in ;; \ + esac + @-$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@ regtest:: @echo 'Some of the output from regtest is very system specific, do not' @@ -494,473 +575,142 @@ regtest:: @echo 'Manual inspection is called for.' AWK=`pwd`/$(AWK) $(srcdir)/regtest.sh -posix:: - @echo '1:2,3 4' | $(AWK) -f $(srcdir)/posix.awk >_$@ - -$(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@ - manyfiles:: + @echo manyfiles @rm -rf junk @mkdir junk @$(AWK) 'BEGIN { for (i = 1; i <= 300; i++) print i, i}' >_$@ @$(AWK) -f $(srcdir)/manyfiles.awk _$@ _$@ - @echo "This number better be 1 ->" | tr -d '\012\015' - @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l - @rm -rf junk _$@ + @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l | sed 's/ *//g' > _$@ + @rm -rf junk ; $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ compare:: + @echo $@ @$(AWK) -f $(srcdir)/compare.awk 0 1 $(srcdir)/compare.in >_$@ - -$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@ - -arrayref:: - @$(AWK) -f $(srcdir)/arrayref.awk >_$@ - -$(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@ - -rs:: - @$(AWK) -v RS="" '{ print $$1, $$2}' $(srcdir)/rs.in >_$@ - -$(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@ - -fsbs:: - @$(AWK) -v FS='\' '{ print $$1, $$2 }' $(srcdir)/fsbs.in >_$@ - -$(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@ inftest:: + @echo $@ @echo This test is very machine specific... @$(AWK) -f $(srcdir)/inftest.awk | sed 's/inf/Inf/g' >_$@ - -$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@ - -getline:: - @$(AWK) -f $(srcdir)/getline.awk $(srcdir)/getline.awk $(srcdir)/getline.awk >_$@ - -$(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@ - -rand:: - @$(AWK) -f $(srcdir)/rand.awk >_$@ - -$(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@ -negexp:: - @$(AWK) 'BEGIN { a = -2; print 10^a }' >_$@ - -$(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@ - -asgext:: - @$(AWK) -f $(srcdir)/asgext.awk $(srcdir)/asgext.in >_$@ - -$(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@ - -anchgsub:: - @$(AWK) -f $(srcdir)/anchgsub.awk $(srcdir)/anchgsub.in >_$@ - -$(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@ - -splitargv:: - @$(AWK) -f $(srcdir)/splitargv.awk $(srcdir)/splitargv.in >_$@ - -$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@ +getline2:: + @echo $@ + @$(AWK) -f $(srcdir)/getline2.awk $(srcdir)/getline2.awk $(srcdir)/getline2.awk >_$@ + @-$(CMP) $(srcdir)/getline2.ok _$@ && rm -f _$@ awkpath:: + @echo $@ @AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@ - -$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@ - -nfset:: - @$(AWK) -f $(srcdir)/nfset.awk $(srcdir)/nfset.in >_$@ - -$(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@ - -reparse:: - @$(AWK) -f $(srcdir)/reparse.awk $(srcdir)/reparse.in >_$@ - -$(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@ argtest:: + @echo $@ @$(AWK) -f $(srcdir)/argtest.awk -x -y abc >_$@ - -$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@ badargs:: + @echo $@ @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@ - -$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@ - -convfmt:: - @$(AWK) -f $(srcdir)/convfmt.awk >_$@ - -$(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@ - -arrayparm:: - @-AWKPATH=$(srcdir) $(AWK) -f arrayparm.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@ - -paramdup:: - @-AWKPATH=$(srcdir) $(AWK) -f paramdup.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@ nonl:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1 - -$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@ - -defref:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f defref.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@ - -nofmtch:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f nofmtch.awk >_$@ 2>&1 - -$(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@ strftime:: - : this test could fail on slow machines or on a second boundary, - : so if it does, double check the actual results + @echo This test could fail on slow machines or on a second boundary, + @echo so if it does, double check the actual results: + @echo $@ @LC_ALL=C; export LC_ALL; LANG=C; export LANG; \ TZ=GMT0; export TZ; \ date | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk - -$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0 + @-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0 litoct:: + @echo $@ @echo ab | $(AWK) --traditional -f $(srcdir)/litoct.awk >_$@ - -$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@ - -gensub:: - @$(AWK) -f $(srcdir)/gensub.awk $(srcdir)/gensub.in >_$@ - -$(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@ - -resplit:: - @echo a:b:c d:e:f | $(AWK) '{ FS = ":"; $$0 = $$0; print $$2 }' > _$@ - -$(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@ - -rswhite:: - @$(AWK) -f $(srcdir)/rswhite.awk $(srcdir)/rswhite.in > _$@ - -$(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@ - -prmarscl:: - @-AWKPATH=$(srcdir) $(AWK) -f prmarscl.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@ - -sclforin:: - @-AWKPATH=$(srcdir) $(AWK) -f sclforin.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@ - -sclifin:: - @-AWKPATH=$(srcdir) $(AWK) -f sclifin.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@ - -intprec:: - @-$(AWK) -f $(srcdir)/intprec.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@ - -childin:: - @echo hi | $(AWK) 'BEGIN { "cat" | getline; print; close("cat") }' > _$@ - -$(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@ - -noeffect:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f noeffect.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@ - -numsubstr:: - @-AWKPATH=$(srcdir) $(AWK) -f numsubstr.awk $(srcdir)/numsubstr.in >_$@ - -$(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@ - -gnureops:: - @$(AWK) -f $(srcdir)/gnureops.awk >_$@ - -$(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@ - -pcntplus:: - @$(AWK) -f $(srcdir)/pcntplus.awk >_$@ - -$(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@ - -prmreuse:: - @$(AWK) -f $(srcdir)/prmreuse.awk >_$@ - -$(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@ - -math:: - @$(AWK) -f $(srcdir)/math.awk >_$@ - -$(CMP) $(srcdir)/math.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@ fflush:: + @echo $@ @$(srcdir)/fflush.sh >_$@ - -$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@ - -fldchg:: - @$(AWK) -f $(srcdir)/fldchg.awk $(srcdir)/fldchg.in >_$@ - -$(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@ - -fldchgnf:: - @$(AWK) -f $(srcdir)/fldchgnf.awk $(srcdir)/fldchgnf.in >_$@ - -$(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@ - -reindops:: - @$(AWK) -f $(srcdir)/reindops.awk $(srcdir)/reindops.in >_$@ - -$(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@ - -sprintfc:: - @$(AWK) -f $(srcdir)/sprintfc.awk $(srcdir)/sprintfc.in >_$@ - -$(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@ - -getlnhd:: - @$(AWK) -f $(srcdir)/getlnhd.awk >_$@ - -$(CMP) $(srcdir)/getlnhd.ok _$@ && rm -f _$@ - -backgsub:: - @$(AWK) -f $(srcdir)/backgsub.awk $(srcdir)/backgsub.in >_$@ - -$(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@ tweakfld:: + @echo $@ @$(AWK) -f $(srcdir)/tweakfld.awk $(srcdir)/tweakfld.in >_$@ @rm -f errors.cleanup - -$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@ - -clsflnam:: - @$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@ 2>&1 - -$(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@ mmap8k:: + @echo $@ @$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@ - -$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ - -fnarray:: - @-AWKPATH=$(srcdir) $(AWK) -f fnarray.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@ - -dynlj:: - @$(AWK) -f $(srcdir)/dynlj.awk >_$@ - -$(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@ - -substr:: - @$(AWK) -f $(srcdir)/substr.awk >_$@ - -$(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@ - -eofsplit:: - @$(AWK) -f $(srcdir)/eofsplit.awk >_$@ - -$(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@ - -prt1eval:: - @$(AWK) -f $(srcdir)/prt1eval.awk >_$@ - -$(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@ - -gsubasgn:: - @-AWKPATH=$(srcdir) $(AWK) -f gsubasgn.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@ - -prtoeval:: - @$(AWK) -f $(srcdir)/prtoeval.awk >_$@ - -$(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@ - -gsubtest:: - @$(AWK) -f $(srcdir)/gsubtest.awk >_$@ - -$(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@ - -splitwht:: - @$(AWK) -f $(srcdir)/splitwht.awk >_$@ - -$(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@ - -back89:: - @$(AWK) '/a\8b/' $(srcdir)/back89.in >_$@ - -$(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ tradanch:: + @echo $@ @$(AWK) --traditional -f $(srcdir)/tradanch.awk $(srcdir)/tradanch.in >_$@ - -$(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@ - -nlfldsep:: - @$(AWK) -f $(srcdir)/nlfldsep.awk $(srcdir)/nlfldsep.in > _$@ - -$(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@ - -splitvar:: - @$(AWK) -f $(srcdir)/splitvar.awk $(srcdir)/splitvar.in >_$@ - -$(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@ - -intest:: - @$(AWK) -f $(srcdir)/intest.awk >_$@ - -$(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/tradanch.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:: - @AWKPATH=$(srcdir) AWK=$(AWK) $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename $@` ; : - -$(CMP) $(srcdir)/pid.ok _`basename $@` && rm -f _`basename $@` _`basename $@`.in + @echo pid + @AWKPATH=$(srcdir) AWK=$(AWKPROG) LC_ALL=C $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename $@` ; : + @-$(CMP) $(srcdir)/pid.ok _`basename $@` && rm -f _`basename $@` _`basename $@`.in strftlng:: + @echo $@ @TZ=UTC; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@ @if $(CMP) -s $(srcdir)/strftlng.ok _$@ ; then : ; else \ TZ=UTC0; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@ ; \ fi - -$(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@ - -nfldstr:: - @echo | $(AWK) '$$1 == 0 { print "bug" }' > _$@ - -$(CMP) $(srcdir)/nfldstr.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@ nors:: + @echo $@ @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@ - -$(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@ - -fnarydel:: - @$(AWK) -f $(srcdir)/fnarydel.awk >_$@ - -$(CMP) $(srcdir)/fnarydel.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@ reint:: + @echo $@ @$(AWK) --re-interval -f $(srcdir)/reint.awk $(srcdir)/reint.in >_$@ - -$(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@ - -noparms:: - @-AWKPATH=$(srcdir) $(AWK) -f noparms.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/noparms.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@ pipeio1:: + @echo $@ @$(AWK) -f $(srcdir)/pipeio1.awk >_$@ @rm -f test1 test2 - -$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@ pipeio2:: + @echo $@ @$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@ - -$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@ - -funstack:: - @$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@ - -$(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@ clobber:: + @echo $@ @$(AWK) -f $(srcdir)/clobber.awk >_$@ - -$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@ @rm -f seq -delarprm:: - @$(AWK) -f $(srcdir)/delarprm.awk >_$@ - -$(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@ - -prdupval:: - @$(AWK) -f $(srcdir)/prdupval.awk $(srcdir)/prdupval.in >_$@ - -$(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@ - -nondec:: - @if grep BITOP ../config.h | grep define > /dev/null; \ - then \ - $(AWK) -f $(srcdir)/nondec.awk >_$@; \ - else \ - cp $(srcdir)/nondec.ok _$@; \ - fi - -$(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@ - -nasty:: - @$(AWK) -f $(srcdir)/nasty.awk >_$@ - -$(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@ - -nasty2:: - @$(AWK) -f $(srcdir)/nasty2.awk >_$@ - -$(CMP) $(srcdir)/nasty2.ok _$@ && rm -f _$@ - -zeroflag:: - @$(AWK) -f $(srcdir)/zeroflag.awk >_$@ - -$(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@ - -getnr2tm:: - @$(AWK) -f $(srcdir)/getnr2tm.awk $(srcdir)/getnr2tm.in >_$@ - -$(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@ - -getnr2tb:: - @$(AWK) -f $(srcdir)/getnr2tb.awk $(srcdir)/getnr2tb.in >_$@ - -$(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@ - -printf1:: - @$(AWK) -f $(srcdir)/printf1.awk >_$@ - -$(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@ - -funsmnam:: - @-AWKPATH=$(srcdir) $(AWK) -f funsmnam.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@ - -fnamedat:: - @-AWKPATH=$(srcdir) $(AWK) -f fnamedat.awk < $(srcdir)/fnamedat.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@ - -numindex:: - @-AWKPATH=$(srcdir) $(AWK) -f numindex.awk < $(srcdir)/numindex.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@ - -subslash:: - @-AWKPATH=$(srcdir) $(AWK) -f subslash.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@ - -opasnslf:: - @-AWKPATH=$(srcdir) $(AWK) -f opasnslf.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@ - -opasnidx:: - @-AWKPATH=$(srcdir) $(AWK) -f opasnidx.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@ - arynocls:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) -v INPUT=$(srcdir)/arynocls.in -f arynocls.awk >_$@ - -$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@ - -igncdym:: - @-AWKPATH=$(srcdir) $(AWK) -f igncdym.awk $(srcdir)/igncdym.in >_$@ - -$(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@ getlnbuf:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) -f getlnbuf.awk $(srcdir)/getlnbuf.in > _$@ @-AWKPATH=$(srcdir) $(AWK) -f gtlnbufv.awk $(srcdir)/getlnbuf.in > _2$@ - -$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@ - -arysubnm:: - @-AWKPATH=$(srcdir) $(AWK) -f arysubnm.awk >_$@ - -$(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@ - -fnparydl:: - @-AWKPATH=$(srcdir) $(AWK) -f fnparydl.awk >_$@ - -$(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@ - -nlstrina:: - @-AWKPATH=$(srcdir) $(AWK) -f nlstrina.awk >_$@ - -$(CMP) $(srcdir)/nlstrina.ok _$@ && rm -f _$@ - -octsub:: - @-AWKPATH=$(srcdir) $(AWK) -f octsub.awk >_$@ - -$(CMP) $(srcdir)/octsub.ok _$@ && rm -f _$@ - -nlinstr:: - @$(AWK) -f $(srcdir)/nlinstr.awk $(srcdir)/nlinstr.in >_$@ - -$(CMP) $(srcdir)/nlinstr.ok _$@ && rm -f _$@ - -ofmt:: - @$(AWK) -f $(srcdir)/ofmt.awk $(srcdir)/ofmt.in >_$@ - -$(CMP) $(srcdir)/ofmt.ok _$@ && rm -f _$@ - -hsprint:: - @$(AWK) -f $(srcdir)/hsprint.awk >_$@ - -$(CMP) $(srcdir)/hsprint.ok _$@ && rm -f _$@ - -fsfwfs:: - @$(AWK) -f $(srcdir)/fsfwfs.awk $(srcdir)/fsfwfs.in >_$@ - -$(CMP) $(srcdir)/fsfwfs.ok _$@ && rm -f _$@ - -ofmts:: - @$(AWK) -f $(srcdir)/ofmts.awk $(srcdir)/ofmts.in >_$@ - -$(CMP) $(srcdir)/ofmts.ok _$@ && rm -f _$@ - -parseme:: - @-AWKPATH=$(srcdir) $(AWK) -f parseme.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/parseme.ok _$@ && rm -f _$@ - -splitdef:: - @$(AWK) -f $(srcdir)/splitdef.awk >_$@ - -$(CMP) $(srcdir)/splitdef.ok _$@ && rm -f _$@ - -fnaryscl:: - @-AWKPATH=$(srcdir) $(AWK) -f fnaryscl.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnaryscl.ok _$@ && rm -f _$@ - -fnasgnm:: - @-AWKPATH=$(srcdir) $(AWK) -f fnasgnm.awk < $(srcdir)/fnasgnm.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnasgnm.ok _$@ && rm -f _$@ - -lint:: - @-AWKPATH=$(srcdir) $(AWK) -f lint.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/lint.ok _$@ && rm -f _$@ - -procinfs:: - @-$(AWK) -f $(srcdir)/procinfs.awk > _$@ - -$(CMP) $(srcdir)/procinfs.ok _$@ && rm -f _$@ - -sort1:: - @-$(AWK) -f $(srcdir)/sort1.awk > _$@ - -$(CMP) $(srcdir)/sort1.ok _$@ && rm -f _$@ - -ofmtbig:: - @$(AWK) -f $(srcdir)/ofmtbig.awk $(srcdir)/ofmtbig.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/ofmtbig.ok _$@ && rm -f _$@ + @-$(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 "'discard'" at port 9 and "'daytimed'" at port 13. Check your @echo file /etc/services and do "'netstat -a'". inetechu:: @@ -981,116 +731,39 @@ inetdayt:: @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \ "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}' -paramtyp:: - @$(AWK) -f $(srcdir)/paramtyp.awk >_$@ - -$(CMP) $(srcdir)/paramtyp.ok _$@ && rm -f _$@ - -rsnul1nl:: - @$(AWK) -f $(srcdir)/rsnul1nl.awk $(srcdir)/rsnul1nl.in >_$@ - -$(CMP) $(srcdir)/rsnul1nl.ok _$@ && rm -f _$@ - -datanonl:: - @$(AWK) -f $(srcdir)/datanonl.awk $(srcdir)/datanonl.in >_$@ - -$(CMP) $(srcdir)/datanonl.ok _$@ && rm -f _$@ - -regeq:: - @$(AWK) -f $(srcdir)/regeq.awk $(srcdir)/regeq.in >_$@ - -$(CMP) $(srcdir)/regeq.ok _$@ && rm -f _$@ - redfilnm:: + @echo $@ @$(AWK) -f $(srcdir)/redfilnm.awk srcdir=$(srcdir) $(srcdir)/redfilnm.in >_$@ - -$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@ - -strtod:: - @$(AWK) -f $(srcdir)/strtod.awk $(srcdir)/strtod.in >_$@ - -$(CMP) $(srcdir)/strtod.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@ leaddig:: + @echo $@ @$(AWK) -v x=2E -f $(srcdir)/leaddig.awk >_$@ - -$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@ -clos1way:: - @$(AWK) -f $(srcdir)/clos1way.awk >_$@ - -$(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@ +gsubtst3:: + @echo $@ + @$(AWK) --re-interval -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -arynasty:: - @$(AWK) -f $(srcdir)/arynasty.awk >_$@ - -$(CMP) $(srcdir)/arynasty.ok _$@ && rm -f _$@ +space:: + @echo $@ + @$(AWK) -f ' ' $(srcdir)/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -shadow:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f shadow.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/shadow.ok _$@ && rm -f _$@ +printf0:: + @echo $@ + @$(AWK) --posix -f $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ -regx8bit:: - @$(AWK) -f $(srcdir)/regx8bit.awk >_$@ - -$(CMP) $(srcdir)/regx8bit.ok _$@ && rm -f _$@ +# Targets generated for other tests: +include Maketests -psx96sub:: - @$(AWK) -f $(srcdir)/psx96sub.awk >_$@ - -$(CMP) $(srcdir)/psx96sub.ok _$@ && rm -f _$@ - -addcomma:: - @$(AWK) -f $(srcdir)/addcomma.awk $(srcdir)/addcomma.in >_$@ - -$(CMP) $(srcdir)/addcomma.ok _$@ && rm -f _$@ - -gnuops2:: - @$(AWK) -f $(srcdir)/gnuops2.awk >_$@ - -$(CMP) $(srcdir)/gnuops2.ok _$@ && rm -f _$@ - -rebt8b1:: - @$(AWK) -f $(srcdir)/rebt8b1.awk >_$@ - -$(CMP) $(srcdir)/rebt8b1.ok _$@ && rm -f _$@ - -rebt8b2:: - @$(AWK) -f $(srcdir)/rebt8b2.awk >_$@ - -$(CMP) $(srcdir)/rebt8b2.ok _$@ && rm -f _$@ - -leadnl:: - @$(AWK) -f $(srcdir)/leadnl.awk $(srcdir)/leadnl.in >_$@ - -$(CMP) $(srcdir)/leadnl.ok _$@ && rm -f _$@ - -funsemnl:: - @$(AWK) -f $(srcdir)/funsemnl.awk >_$@ - -$(CMP) $(srcdir)/funsemnl.ok _$@ && rm -f _$@ - -ofmtfidl:: - @$(AWK) -f $(srcdir)/ofmtfidl.awk $(srcdir)/ofmtfidl.in >_$@ - -$(CMP) $(srcdir)/ofmtfidl.ok _$@ && rm -f _$@ - -onlynl:: - @$(AWK) -f $(srcdir)/onlynl.awk $(srcdir)/onlynl.in >_$@ - -$(CMP) $(srcdir)/onlynl.ok _$@ && rm -f _$@ - -arrymem1:: - @$(AWK) -f $(srcdir)/arrymem1.awk >_$@ - -$(CMP) $(srcdir)/arrymem1.ok _$@ && rm -f _$@ - -compare2:: - @$(AWK) -f $(srcdir)/compare2.awk >_$@ - -$(CMP) $(srcdir)/compare2.ok _$@ && rm -f _$@ - -minusstr:: - @$(AWK) -f $(srcdir)/minusstr.awk >_$@ - -$(CMP) $(srcdir)/minusstr.ok _$@ && rm -f _$@ - -membug1:: - @$(AWK) -f $(srcdir)/membug1.awk $(srcdir)/membug1.in >_$@ - -$(CMP) $(srcdir)/membug1.ok _$@ && rm -f _$@ - -forsimp:: - @$(AWK) -f $(srcdir)/forsimp.awk >_$@ - -$(CMP) $(srcdir)/forsimp.ok _$@ && rm -f _$@ - -concat1:: - @$(AWK) -f $(srcdir)/concat1.awk $(srcdir)/concat1.in >_$@ - -$(CMP) $(srcdir)/concat1.ok _$@ && rm -f _$@ - -longsub:: - @$(AWK) -f $(srcdir)/longsub.awk $(srcdir)/longsub.in >_$@ - -$(CMP) $(srcdir)/longsub.ok _$@ && rm -f _$@ +$(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests + $(AWK) -f $(srcdir)/Gentests "$<" *.awk *.in > $(srcdir)/Maketests clean: - rm -fr _* core junk out1 out2 out3 strftime.ok test1 test2 seq *~ + rm -fr _* core core.* junk out1 out2 out3 strftime.ok test1 test2 seq *~ # An attempt to print something that can be grepped for in build logs pass-fail: @@ -1107,3 +780,15 @@ diffout: echo ============== $$i ============= ; \ diff -c $${i#_}.ok $$i ; \ done | more + +# 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 diff --git a/test/Makefile.in b/test/Makefile.in index a05e0e45..135f689e 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1,6 +1,7 @@ -# Makefile.in generated automatically by automake 1.5 from Makefile.am. +# Makefile.in generated by automake 1.7.3 from Makefile.am. +# @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -16,7 +17,7 @@ # # test/Makefile.am --- automake input file for gawk # -# Copyright (C) 1988-2002 the Free Software Foundation, Inc. +# Copyright (C) 1988-2003 the Free Software Foundation, Inc. # # This file is part of GAWK, the GNU implementation of the # AWK Programming Language. @@ -36,98 +37,139 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA # -SHELL = @SHELL@ - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -bindir = @bindir@ -sbindir = @sbindir@ -libexecdir = @libexecdir@ -datadir = @datadir@ -sysconfdir = @sysconfdir@ -sharedstatedir = @sharedstatedir@ -localstatedir = @localstatedir@ -libdir = @libdir@ -infodir = @infodir@ -mandir = @mandir@ -includedir = @includedir@ -oldincludedir = /usr/include pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. -ACLOCAL = @ACLOCAL@ -AUTOCONF = @AUTOCONF@ -AUTOMAKE = @AUTOMAKE@ -AUTOHEADER = @AUTOHEADER@ - +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) -transform = @program_transform_name@ +transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -host_alias = @host_alias@ host_triplet = @host@ +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = LC_ALL=C $(AWKPROG) BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ +CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ GLIBC21 = @GLIBC21@ GMSGFMT = @GMSGFMT@ -HAVE_LIB = @HAVE_LIB@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLBISON = @INTLBISON@ INTLLIBS = @INTLLIBS@ INTLOBJS = @INTLOBJS@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ -LIB = @LIB@ +LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ LN_S = @LN_S@ -LTLIB = @LTLIB@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ SOCKET_LIBS = @SOCKET_LIBS@ +STRIP = @STRIP@ U = @U@ USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ YACC = @YACC@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ +am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ install_sh = @install_sh@ -AWK = ../gawk - -# Special stuff for OS/2 -PATH_SEPARATOR = @PATH_SEPARATOR@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ EXTRA_DIST = \ reg \ lib \ + Gentests \ + Maketests \ README \ addcomma.awk \ addcomma.in \ @@ -156,13 +198,20 @@ EXTRA_DIST = \ asgext.awk \ asgext.in \ asgext.ok \ + asort.awk \ + asort.ok \ + asorti.awk \ + asorti.ok \ awkpath.ok \ + back89.awk \ back89.in \ back89.ok \ backgsub.awk \ backgsub.in \ backgsub.ok \ badargs.ok \ + childin.awk \ + childin.in \ childin.ok \ clobber.awk \ clobber.ok \ @@ -194,6 +243,8 @@ EXTRA_DIST = \ eofsplit.ok \ fflush.ok \ fflush.sh \ + fieldwdth.awk \ + fieldwdth.in \ fieldwdth.ok \ fldchg.awk \ fldchg.in \ @@ -213,10 +264,13 @@ EXTRA_DIST = \ fnasgnm.awk \ fnasgnm.in \ fnasgnm.ok \ + fnmisc.awk \ + fnmisc.ok \ fnparydl.awk \ fnparydl.ok \ forsimp.awk \ forsimp.ok \ + fsbs.awk \ fsbs.in \ fsbs.ok \ fsfwfs.awk \ @@ -226,6 +280,7 @@ EXTRA_DIST = \ fsrs.in \ fsrs.ok \ fstabplus.awk \ + fstabplus.in \ fstabplus.ok \ funsemnl.awk \ funsemnl.ok \ @@ -238,7 +293,12 @@ EXTRA_DIST = \ gensub.in \ gensub.ok \ getline.awk \ + getline.in \ getline.ok \ + getline2.awk \ + getline2.ok \ + getline3.awk \ + getline3.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -258,18 +318,34 @@ EXTRA_DIST = \ gsubasgn.ok \ gsubtest.awk \ gsubtest.ok \ + gsubtst2.awk \ + gsubtst2.ok \ + gsubtst3.awk \ + gsubtst3.in \ + gsubtst3.ok \ + gsubtst4.awk \ + gsubtst4.ok \ gtlnbufv.awk \ hsprint.awk \ hsprint.ok \ + icasefs.awk \ + icasefs.ok \ + icasers.awk \ + icasers.in \ + icasers.ok \ igncdym.awk \ igncdym.in \ igncdym.ok \ igncfs.awk \ igncfs.in \ igncfs.ok \ + ignrcase.awk \ + ignrcase.in \ ignrcase.ok \ inftest.awk \ inftest.ok \ + inputred.awk \ + inputred.ok \ intest.awk \ intest.ok \ intprec.awk \ @@ -288,8 +364,11 @@ EXTRA_DIST = \ longsub.ok \ longwrds.awk \ longwrds.ok \ - manpage \ + longwrds.in \ manyfiles.awk \ + manyfiles.ok \ + match1.awk \ + match1.ok \ math.awk \ math.ok \ membug1.awk \ @@ -303,8 +382,13 @@ EXTRA_DIST = \ nasty.ok \ nasty2.awk \ nasty2.ok \ + negexp.awk \ negexp.ok \ + nfldstr.awk \ + nfldstr.in \ nfldstr.ok \ + nfneg.awk \ + nfneg.ok \ nfset.awk \ nfset.in \ nfset.ok \ @@ -320,6 +404,12 @@ EXTRA_DIST = \ noeffect.ok \ nofmtch.awk \ nofmtch.ok \ + noloop1.awk \ + noloop1.in \ + noloop1.ok \ + noloop2.awk \ + noloop2.in \ + noloop2.ok \ nondec.awk \ nondec.ok \ nonl.awk \ @@ -328,6 +418,9 @@ EXTRA_DIST = \ noparms.ok \ nors.in \ nors.ok \ + nulrsend.awk \ + nulrsend.in \ + nulrsend.ok \ numindex.awk \ numindex.in \ numindex.ok \ @@ -375,12 +468,16 @@ EXTRA_DIST = \ pipeio2.in \ pipeio2.ok \ posix.awk \ + posix.in \ posix.ok \ poundbang.awk \ - poundbang.ok \ prdupval.awk \ prdupval.in \ prdupval.ok \ + prec.awk \ + prec.ok \ + printf0.awk \ + printf0.ok \ printf1.awk \ printf1.ok \ printfloat.awk \ @@ -411,6 +508,9 @@ EXTRA_DIST = \ regtest.sh \ regx8bit.awk \ regx8bit.ok \ + rebuf.awk \ + rebuf.in \ + rebuf.ok \ reindops.awk \ reindops.in \ reindops.ok \ @@ -420,12 +520,19 @@ EXTRA_DIST = \ reparse.awk \ reparse.in \ reparse.ok \ + resplit.awk \ + resplit.in \ resplit.ok \ + rs.awk \ rs.in \ rs.ok \ rsnul1nl.awk \ rsnul1nl.in \ rsnul1nl.ok \ + rstest1.awk \ + rstest1.ok \ + rstest2.awk \ + rstest2.ok \ rswhite.awk \ rswhite.in \ rswhite.ok \ @@ -437,9 +544,12 @@ EXTRA_DIST = \ shadow.ok \ sort1.awk \ sort1.ok \ + space.ok \ splitargv.awk \ splitargv.in \ splitargv.ok \ + splitarr.awk \ + splitarr.ok \ splitdef.awk \ splitdef.ok \ splitvar.awk \ @@ -463,37 +573,85 @@ EXTRA_DIST = \ swaplns.awk \ swaplns.in \ swaplns.ok \ + synerr1.awk \ + synerr1.ok \ tradanch.awk \ tradanch.in \ tradanch.ok \ tweakfld.awk \ tweakfld.in \ tweakfld.ok \ + uninitialized.awk \ + uninitialized.ok \ + uninit2.awk \ + uninit2.ok \ + zeroe0.awk \ + zeroe0.ok \ zeroflag.awk \ zeroflag.ok +# try to keep these sorted +BASIC_TESTS = addcomma anchgsub argarray arrayparm arrayref arrymem1 arynasty \ + arynocls arysubnm asgext awkpath back89 backgsub childin clobber \ + clsflnam compare compare2 concat1 convfmt datanonl defref delarprm \ + dynlj eofsplit fldchg fldchgnf fnamedat fnarray fnarydel fnaryscl \ + fnasgnm fnmisc fnparydl forsimp fsbs fsrs fstabplus funsemnl funsmnam \ + funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest \ + gsubtst2 gsubtst3 gsubtst4 hsprint inputred intest intprec leaddig leadnl \ + litoct longsub longwrds math membug1 messages minusstr mmap8k \ + nasty nasty2 negexp nfldstr nfneg nfset nlfldsep nlinstr nlstrina \ + noeffect nofmtch noloop1 noloop2 nonl noparms nors nulrsend \ + numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts onlynl \ + opasnidx opasnslf paramdup paramtyp parseme pcntplus prdupval prec \ + printf0 printf1 prmarscl prmreuse prt1eval prtoeval psx96sub rand rebt8b1 \ + rebt8b2 redfilnm regeq reindops reparse resplit rs rsnul1nl \ + rstest1 rstest2 rswhite sclforin sclifin splitargv splitarr splitdef \ + splitvar splitwht sprintfc strtod subslash substr swaplns synerr1 \ + tradanch tweakfld uninitialized uninit2 zeroe0 zeroflag + + +UNIX_TESTS = fflush getlnhd pid pipeio1 pipeio2 poundbang space strftlng + +GAWK_EXT_TESTS = argtest asort asorti badargs clos1way fieldwdth fsfwfs \ + gensub gnuops2 gnureops icasefs icasers igncdym igncfs ignrcase lint \ + match1 manyfiles nondec posix procinfs regx8bit rebuf reint shadow \ + sort1 strftime + + +EXTRA_TESTS = regtest inftest + +INET_TESTS = inetechu inetecht inetdayu inetdayt + +# List of the tests which should be run with --lint option: +NEED_LINT = defref noeffect nofmtch shadow uninitialized uninit2 + +# List of the files that appear in manual tests or are for reserve testing: +GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk + CMP = cmp +AWKPROG = ../gawk$(EXEEXT) subdir = test mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = DIST_SOURCES = -DIST_COMMON = README ChangeLog Makefile.am Makefile.in +DIST_COMMON = README $(srcdir)/Maketests ChangeLog Makefile.am \ + Makefile.in all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(srcdir)/Maketests $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && \ - CONFIG_HEADERS= CONFIG_LINKS= \ - CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) uninstall-info-am: tags: TAGS TAGS: +ctags: CTAGS +CTAGS: DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -501,15 +659,26 @@ top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @for file in $(DISTFILES); do \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - $(mkinstalldirs) "$(distdir)/$$dir"; \ + dir="/$$dir"; \ + $(mkinstalldirs) "$(distdir)$$dir"; \ + else \ + dir=''; \ fi; \ if test -d $$d/$$file; then \ - cp -pR $$d/$$file $(distdir) \ - || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ @@ -533,6 +702,7 @@ install-am: all-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: @@ -540,7 +710,7 @@ mostlyclean-generic: clean-generic: distclean-generic: - -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]* + -rm -f Makefile $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -579,6 +749,14 @@ mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + uninstall-am: uninstall-info-am .PHONY: all all-am check check-am clean clean-generic distclean \ @@ -587,44 +765,31 @@ uninstall-am: uninstall-info-am install-exec-am install-info install-info-am install-man \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic uninstall uninstall-am uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am -# message stuff is to make it a little easier to follow +# Message stuff is to make it a little easier to follow. +# Make the pass-fail last and dependent on others to avoid +# spurious errors if `make -j' in effect. check: msg \ basic-msg-start basic basic-msg-end \ unix-msg-start unix-tests unix-msg-end \ - extend-msg-start gawk-extensions extend-msg-end \ - pass-fail + extend-msg-start gawk-extensions extend-msg-end + @$(MAKE) pass-fail -# try to keep these sorted -basic: addcomma anchgsub argarray arrayparm arrayref arynasty arynocls \ - arysubnm arrymem1 asgext awkpath back89 backgsub childin clobber \ - clsflnam compare compare2 concat1 convfmt datanonl defref delarprm dynlj eofsplit \ - fldchg fldchgnf fnamedat fnarray fnarydel fnaryscl fnasgnm \ - fnparydl forsimp fsbs fsrs fstabplus funsemnl funsmnam funstack getline \ - getlnbuf getnr2tb getnr2tm gsubasgn gsubtest hsprint intest \ - intprec leaddig leadnl litoct longsub longwrds math membug1 messages minusstr \ - mmap8k nasty nasty2 negexp nfldstr nfset nlfldsep nlinstr nlstrina \ - noeffect nofmtch nonl noparms nors numindex numsubstr octsub \ - ofmt ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf paramdup paramtyp \ - parseme pcntplus prdupval printf1 prmarscl prmreuse prt1eval \ - prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm regeq reindops \ - reparse resplit rs rsnul1nl rswhite sclforin sclifin splitargv \ - splitdef splitvar splitwht sprintfc strtod subslash substr \ - swaplns tradanch tweakfld zeroflag - -unix-tests: fflush getlnhd pid pipeio1 pipeio2 poundbang strftlng - -gawk-extensions: argtest badargs clos1way fieldwdth fsfwfs gensub \ - gnuops2 gnureops igncdym igncfs ignrcase lint manyfiles nondec \ - posix procinfs regx8bit reint shadow sort1 strftime - -extra: regtest inftest inet - -inet: inetmesg inetechu inetecht inetdayu inetdayt +basic: $(BASIC_TESTS) + +unix-tests: $(UNIX_TESTS) + +gawk-extensions: $(GAWK_EXT_TESTS) + +extra: $(EXTRA_TESTS) inet + +inet: inetmesg $(INET_TESTS) msg:: + @echo '' @echo 'Any output from "cmp" is bad news, although some differences' @echo 'in floating point values are probably benign -- in particular,' @echo 'some systems may omit a leading zero and the floating point' @@ -649,57 +814,40 @@ extend-msg-end: @echo "======== Done with gawk extension tests ========" # This test is a PITA because increasingly, /tmp is getting -# mounted noexec. So, we'll test it. Sigh. +# 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:: - @cp $(AWK) /tmp/gawk - @if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > /dev/null ; \ - then \ - $(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \ - $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \ + @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 \ - echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \ + sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \ + chmod +x ./_pbd.awk ; \ + ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@`; \ fi - @rm -f /tmp/gawk - -swaplns:: - @$(AWK) -f $(srcdir)/swaplns.awk $(srcdir)/swaplns.in >_$@ - -$(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/poundbang.awk _`basename $@` && rm -f _`basename $@` _pbd.awk messages:: + @echo $@ @$(AWK) -f $(srcdir)/messages.awk >out2 2>out3 - -$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3 + @-$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3 argarray:: + @echo $@ @case $(srcdir) in \ .) : ;; \ *) cp $(srcdir)/argarray.in . ;; \ esac @TEST=test echo just a test | $(AWK) -f $(srcdir)/argarray.awk ./argarray.in - >_$@ - -$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@ - -fstabplus:: - @echo '1 2' | $(AWK) -f $(srcdir)/fstabplus.awk >_$@ - -$(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@ - -fsrs:: - @$(AWK) -f $(srcdir)/fsrs.awk $(srcdir)/fsrs.in >_$@ - -$(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@ - -igncfs:: - @$(AWK) -f $(srcdir)/igncfs.awk $(srcdir)/igncfs.in >_$@ - -$(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@ - -longwrds:: - @$(AWK) -f $(srcdir)/longwrds.awk $(srcdir)/manpage | (LC_ALL=C sort) >_$@ - -$(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@ - -fieldwdth:: - @echo '123456789' | $(AWK) -v FIELDWIDTHS="2 3 4" '{ print $$2}' >_$@ - -$(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@ - -ignrcase:: - @echo xYz | $(AWK) -v IGNORECASE=1 '{ sub(/y/, ""); print}' >_$@ - -$(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@ + @case $(srcdir) in \ + .) : ;; \ + *) rm -f ./argarray.in ;; \ + esac + @-$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@ regtest:: @echo 'Some of the output from regtest is very system specific, do not' @@ -707,473 +855,142 @@ regtest:: @echo 'Manual inspection is called for.' AWK=`pwd`/$(AWK) $(srcdir)/regtest.sh -posix:: - @echo '1:2,3 4' | $(AWK) -f $(srcdir)/posix.awk >_$@ - -$(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@ - manyfiles:: + @echo manyfiles @rm -rf junk @mkdir junk @$(AWK) 'BEGIN { for (i = 1; i <= 300; i++) print i, i}' >_$@ @$(AWK) -f $(srcdir)/manyfiles.awk _$@ _$@ - @echo "This number better be 1 ->" | tr -d '\012\015' - @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l - @rm -rf junk _$@ + @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l | sed 's/ *//g' > _$@ + @rm -rf junk ; $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ compare:: + @echo $@ @$(AWK) -f $(srcdir)/compare.awk 0 1 $(srcdir)/compare.in >_$@ - -$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@ - -arrayref:: - @$(AWK) -f $(srcdir)/arrayref.awk >_$@ - -$(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@ - -rs:: - @$(AWK) -v RS="" '{ print $$1, $$2}' $(srcdir)/rs.in >_$@ - -$(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@ - -fsbs:: - @$(AWK) -v FS='\' '{ print $$1, $$2 }' $(srcdir)/fsbs.in >_$@ - -$(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@ inftest:: + @echo $@ @echo This test is very machine specific... @$(AWK) -f $(srcdir)/inftest.awk | sed 's/inf/Inf/g' >_$@ - -$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@ - -getline:: - @$(AWK) -f $(srcdir)/getline.awk $(srcdir)/getline.awk $(srcdir)/getline.awk >_$@ - -$(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@ -rand:: - @$(AWK) -f $(srcdir)/rand.awk >_$@ - -$(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@ - -negexp:: - @$(AWK) 'BEGIN { a = -2; print 10^a }' >_$@ - -$(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@ - -asgext:: - @$(AWK) -f $(srcdir)/asgext.awk $(srcdir)/asgext.in >_$@ - -$(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@ - -anchgsub:: - @$(AWK) -f $(srcdir)/anchgsub.awk $(srcdir)/anchgsub.in >_$@ - -$(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@ - -splitargv:: - @$(AWK) -f $(srcdir)/splitargv.awk $(srcdir)/splitargv.in >_$@ - -$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@ +getline2:: + @echo $@ + @$(AWK) -f $(srcdir)/getline2.awk $(srcdir)/getline2.awk $(srcdir)/getline2.awk >_$@ + @-$(CMP) $(srcdir)/getline2.ok _$@ && rm -f _$@ awkpath:: + @echo $@ @AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@ - -$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@ - -nfset:: - @$(AWK) -f $(srcdir)/nfset.awk $(srcdir)/nfset.in >_$@ - -$(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@ - -reparse:: - @$(AWK) -f $(srcdir)/reparse.awk $(srcdir)/reparse.in >_$@ - -$(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@ argtest:: + @echo $@ @$(AWK) -f $(srcdir)/argtest.awk -x -y abc >_$@ - -$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@ badargs:: + @echo $@ @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@ - -$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@ - -convfmt:: - @$(AWK) -f $(srcdir)/convfmt.awk >_$@ - -$(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@ - -arrayparm:: - @-AWKPATH=$(srcdir) $(AWK) -f arrayparm.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@ - -paramdup:: - @-AWKPATH=$(srcdir) $(AWK) -f paramdup.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@ nonl:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1 - -$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@ - -defref:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f defref.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@ - -nofmtch:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f nofmtch.awk >_$@ 2>&1 - -$(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@ strftime:: - : this test could fail on slow machines or on a second boundary, - : so if it does, double check the actual results + @echo This test could fail on slow machines or on a second boundary, + @echo so if it does, double check the actual results: + @echo $@ @LC_ALL=C; export LC_ALL; LANG=C; export LANG; \ TZ=GMT0; export TZ; \ date | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk - -$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0 + @-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0 litoct:: + @echo $@ @echo ab | $(AWK) --traditional -f $(srcdir)/litoct.awk >_$@ - -$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@ - -gensub:: - @$(AWK) -f $(srcdir)/gensub.awk $(srcdir)/gensub.in >_$@ - -$(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@ - -resplit:: - @echo a:b:c d:e:f | $(AWK) '{ FS = ":"; $$0 = $$0; print $$2 }' > _$@ - -$(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@ - -rswhite:: - @$(AWK) -f $(srcdir)/rswhite.awk $(srcdir)/rswhite.in > _$@ - -$(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@ - -prmarscl:: - @-AWKPATH=$(srcdir) $(AWK) -f prmarscl.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@ - -sclforin:: - @-AWKPATH=$(srcdir) $(AWK) -f sclforin.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@ - -sclifin:: - @-AWKPATH=$(srcdir) $(AWK) -f sclifin.awk > _$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@ - -intprec:: - @-$(AWK) -f $(srcdir)/intprec.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@ - -childin:: - @echo hi | $(AWK) 'BEGIN { "cat" | getline; print; close("cat") }' > _$@ - -$(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@ - -noeffect:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f noeffect.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@ - -numsubstr:: - @-AWKPATH=$(srcdir) $(AWK) -f numsubstr.awk $(srcdir)/numsubstr.in >_$@ - -$(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@ - -gnureops:: - @$(AWK) -f $(srcdir)/gnureops.awk >_$@ - -$(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@ - -pcntplus:: - @$(AWK) -f $(srcdir)/pcntplus.awk >_$@ - -$(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@ - -prmreuse:: - @$(AWK) -f $(srcdir)/prmreuse.awk >_$@ - -$(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@ - -math:: - @$(AWK) -f $(srcdir)/math.awk >_$@ - -$(CMP) $(srcdir)/math.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@ fflush:: + @echo $@ @$(srcdir)/fflush.sh >_$@ - -$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@ - -fldchg:: - @$(AWK) -f $(srcdir)/fldchg.awk $(srcdir)/fldchg.in >_$@ - -$(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@ - -fldchgnf:: - @$(AWK) -f $(srcdir)/fldchgnf.awk $(srcdir)/fldchgnf.in >_$@ - -$(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@ - -reindops:: - @$(AWK) -f $(srcdir)/reindops.awk $(srcdir)/reindops.in >_$@ - -$(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@ - -sprintfc:: - @$(AWK) -f $(srcdir)/sprintfc.awk $(srcdir)/sprintfc.in >_$@ - -$(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@ - -getlnhd:: - @$(AWK) -f $(srcdir)/getlnhd.awk >_$@ - -$(CMP) $(srcdir)/getlnhd.ok _$@ && rm -f _$@ - -backgsub:: - @$(AWK) -f $(srcdir)/backgsub.awk $(srcdir)/backgsub.in >_$@ - -$(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@ tweakfld:: + @echo $@ @$(AWK) -f $(srcdir)/tweakfld.awk $(srcdir)/tweakfld.in >_$@ @rm -f errors.cleanup - -$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@ - -clsflnam:: - @$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@ 2>&1 - -$(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@ mmap8k:: + @echo $@ @$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@ - -$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ - -fnarray:: - @-AWKPATH=$(srcdir) $(AWK) -f fnarray.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@ - -dynlj:: - @$(AWK) -f $(srcdir)/dynlj.awk >_$@ - -$(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@ - -substr:: - @$(AWK) -f $(srcdir)/substr.awk >_$@ - -$(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@ - -eofsplit:: - @$(AWK) -f $(srcdir)/eofsplit.awk >_$@ - -$(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@ - -prt1eval:: - @$(AWK) -f $(srcdir)/prt1eval.awk >_$@ - -$(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@ - -gsubasgn:: - @-AWKPATH=$(srcdir) $(AWK) -f gsubasgn.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@ - -prtoeval:: - @$(AWK) -f $(srcdir)/prtoeval.awk >_$@ - -$(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@ - -gsubtest:: - @$(AWK) -f $(srcdir)/gsubtest.awk >_$@ - -$(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@ - -splitwht:: - @$(AWK) -f $(srcdir)/splitwht.awk >_$@ - -$(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@ - -back89:: - @$(AWK) '/a\8b/' $(srcdir)/back89.in >_$@ - -$(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@ tradanch:: + @echo $@ @$(AWK) --traditional -f $(srcdir)/tradanch.awk $(srcdir)/tradanch.in >_$@ - -$(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@ - -nlfldsep:: - @$(AWK) -f $(srcdir)/nlfldsep.awk $(srcdir)/nlfldsep.in > _$@ - -$(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@ - -splitvar:: - @$(AWK) -f $(srcdir)/splitvar.awk $(srcdir)/splitvar.in >_$@ - -$(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@ - -intest:: - @$(AWK) -f $(srcdir)/intest.awk >_$@ - -$(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/tradanch.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:: - @AWKPATH=$(srcdir) AWK=$(AWK) $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename $@` ; : - -$(CMP) $(srcdir)/pid.ok _`basename $@` && rm -f _`basename $@` _`basename $@`.in + @echo pid + @AWKPATH=$(srcdir) AWK=$(AWKPROG) LC_ALL=C $(SHELL) $(srcdir)/pid.sh $$$$ > _`basename $@` ; : + @-$(CMP) $(srcdir)/pid.ok _`basename $@` && rm -f _`basename $@` _`basename $@`.in strftlng:: + @echo $@ @TZ=UTC; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@ @if $(CMP) -s $(srcdir)/strftlng.ok _$@ ; then : ; else \ TZ=UTC0; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@ ; \ fi - -$(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@ - -nfldstr:: - @echo | $(AWK) '$$1 == 0 { print "bug" }' > _$@ - -$(CMP) $(srcdir)/nfldstr.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/strftlng.ok _$@ && rm -f _$@ nors:: + @echo $@ @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@ - -$(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@ - -fnarydel:: - @$(AWK) -f $(srcdir)/fnarydel.awk >_$@ - -$(CMP) $(srcdir)/fnarydel.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/nors.ok _$@ && rm -f _$@ reint:: + @echo $@ @$(AWK) --re-interval -f $(srcdir)/reint.awk $(srcdir)/reint.in >_$@ - -$(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@ - -noparms:: - @-AWKPATH=$(srcdir) $(AWK) -f noparms.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/noparms.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/reint.ok _$@ && rm -f _$@ pipeio1:: + @echo $@ @$(AWK) -f $(srcdir)/pipeio1.awk >_$@ @rm -f test1 test2 - -$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@ pipeio2:: + @echo $@ @$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@ - -$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@ - -funstack:: - @$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@ - -$(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@ clobber:: + @echo $@ @$(AWK) -f $(srcdir)/clobber.awk >_$@ - -$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@ @rm -f seq -delarprm:: - @$(AWK) -f $(srcdir)/delarprm.awk >_$@ - -$(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@ - -prdupval:: - @$(AWK) -f $(srcdir)/prdupval.awk $(srcdir)/prdupval.in >_$@ - -$(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@ - -nondec:: - @if grep BITOP ../config.h | grep define > /dev/null; \ - then \ - $(AWK) -f $(srcdir)/nondec.awk >_$@; \ - else \ - cp $(srcdir)/nondec.ok _$@; \ - fi - -$(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@ - -nasty:: - @$(AWK) -f $(srcdir)/nasty.awk >_$@ - -$(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@ - -nasty2:: - @$(AWK) -f $(srcdir)/nasty2.awk >_$@ - -$(CMP) $(srcdir)/nasty2.ok _$@ && rm -f _$@ - -zeroflag:: - @$(AWK) -f $(srcdir)/zeroflag.awk >_$@ - -$(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@ - -getnr2tm:: - @$(AWK) -f $(srcdir)/getnr2tm.awk $(srcdir)/getnr2tm.in >_$@ - -$(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@ - -getnr2tb:: - @$(AWK) -f $(srcdir)/getnr2tb.awk $(srcdir)/getnr2tb.in >_$@ - -$(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@ - -printf1:: - @$(AWK) -f $(srcdir)/printf1.awk >_$@ - -$(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@ - -funsmnam:: - @-AWKPATH=$(srcdir) $(AWK) -f funsmnam.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@ - -fnamedat:: - @-AWKPATH=$(srcdir) $(AWK) -f fnamedat.awk < $(srcdir)/fnamedat.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@ - -numindex:: - @-AWKPATH=$(srcdir) $(AWK) -f numindex.awk < $(srcdir)/numindex.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@ - -subslash:: - @-AWKPATH=$(srcdir) $(AWK) -f subslash.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@ - -opasnslf:: - @-AWKPATH=$(srcdir) $(AWK) -f opasnslf.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@ - -opasnidx:: - @-AWKPATH=$(srcdir) $(AWK) -f opasnidx.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@ - arynocls:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) -v INPUT=$(srcdir)/arynocls.in -f arynocls.awk >_$@ - -$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@ - -igncdym:: - @-AWKPATH=$(srcdir) $(AWK) -f igncdym.awk $(srcdir)/igncdym.in >_$@ - -$(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@ getlnbuf:: + @echo $@ @-AWKPATH=$(srcdir) $(AWK) -f getlnbuf.awk $(srcdir)/getlnbuf.in > _$@ @-AWKPATH=$(srcdir) $(AWK) -f gtlnbufv.awk $(srcdir)/getlnbuf.in > _2$@ - -$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@ - -arysubnm:: - @-AWKPATH=$(srcdir) $(AWK) -f arysubnm.awk >_$@ - -$(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@ - -fnparydl:: - @-AWKPATH=$(srcdir) $(AWK) -f fnparydl.awk >_$@ - -$(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@ - -nlstrina:: - @-AWKPATH=$(srcdir) $(AWK) -f nlstrina.awk >_$@ - -$(CMP) $(srcdir)/nlstrina.ok _$@ && rm -f _$@ - -octsub:: - @-AWKPATH=$(srcdir) $(AWK) -f octsub.awk >_$@ - -$(CMP) $(srcdir)/octsub.ok _$@ && rm -f _$@ - -nlinstr:: - @$(AWK) -f $(srcdir)/nlinstr.awk $(srcdir)/nlinstr.in >_$@ - -$(CMP) $(srcdir)/nlinstr.ok _$@ && rm -f _$@ - -ofmt:: - @$(AWK) -f $(srcdir)/ofmt.awk $(srcdir)/ofmt.in >_$@ - -$(CMP) $(srcdir)/ofmt.ok _$@ && rm -f _$@ - -hsprint:: - @$(AWK) -f $(srcdir)/hsprint.awk >_$@ - -$(CMP) $(srcdir)/hsprint.ok _$@ && rm -f _$@ - -fsfwfs:: - @$(AWK) -f $(srcdir)/fsfwfs.awk $(srcdir)/fsfwfs.in >_$@ - -$(CMP) $(srcdir)/fsfwfs.ok _$@ && rm -f _$@ - -ofmts:: - @$(AWK) -f $(srcdir)/ofmts.awk $(srcdir)/ofmts.in >_$@ - -$(CMP) $(srcdir)/ofmts.ok _$@ && rm -f _$@ - -parseme:: - @-AWKPATH=$(srcdir) $(AWK) -f parseme.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/parseme.ok _$@ && rm -f _$@ - -splitdef:: - @$(AWK) -f $(srcdir)/splitdef.awk >_$@ - -$(CMP) $(srcdir)/splitdef.ok _$@ && rm -f _$@ - -fnaryscl:: - @-AWKPATH=$(srcdir) $(AWK) -f fnaryscl.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnaryscl.ok _$@ && rm -f _$@ - -fnasgnm:: - @-AWKPATH=$(srcdir) $(AWK) -f fnasgnm.awk < $(srcdir)/fnasgnm.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/fnasgnm.ok _$@ && rm -f _$@ - -lint:: - @-AWKPATH=$(srcdir) $(AWK) -f lint.awk > _$@ 2>&1 - -$(CMP) $(srcdir)/lint.ok _$@ && rm -f _$@ - -procinfs:: - @-$(AWK) -f $(srcdir)/procinfs.awk > _$@ - -$(CMP) $(srcdir)/procinfs.ok _$@ && rm -f _$@ - -sort1:: - @-$(AWK) -f $(srcdir)/sort1.awk > _$@ - -$(CMP) $(srcdir)/sort1.ok _$@ && rm -f _$@ - -ofmtbig:: - @$(AWK) -f $(srcdir)/ofmtbig.awk $(srcdir)/ofmtbig.in >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/ofmtbig.ok _$@ && rm -f _$@ + @-$(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 "'discard'" at port 9 and "'daytimed'" at port 13. Check your @echo file /etc/services and do "'netstat -a'". inetechu:: @@ -1194,116 +1011,756 @@ inetdayt:: @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \ "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}' -paramtyp:: - @$(AWK) -f $(srcdir)/paramtyp.awk >_$@ - -$(CMP) $(srcdir)/paramtyp.ok _$@ && rm -f _$@ - -rsnul1nl:: - @$(AWK) -f $(srcdir)/rsnul1nl.awk $(srcdir)/rsnul1nl.in >_$@ - -$(CMP) $(srcdir)/rsnul1nl.ok _$@ && rm -f _$@ - -datanonl:: - @$(AWK) -f $(srcdir)/datanonl.awk $(srcdir)/datanonl.in >_$@ - -$(CMP) $(srcdir)/datanonl.ok _$@ && rm -f _$@ - -regeq:: - @$(AWK) -f $(srcdir)/regeq.awk $(srcdir)/regeq.in >_$@ - -$(CMP) $(srcdir)/regeq.ok _$@ && rm -f _$@ - redfilnm:: + @echo $@ @$(AWK) -f $(srcdir)/redfilnm.awk srcdir=$(srcdir) $(srcdir)/redfilnm.in >_$@ - -$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@ - -strtod:: - @$(AWK) -f $(srcdir)/strtod.awk $(srcdir)/strtod.in >_$@ - -$(CMP) $(srcdir)/strtod.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@ leaddig:: + @echo $@ @$(AWK) -v x=2E -f $(srcdir)/leaddig.awk >_$@ - -$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@ - -clos1way:: - @$(AWK) -f $(srcdir)/clos1way.awk >_$@ - -$(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@ - -arynasty:: - @$(AWK) -f $(srcdir)/arynasty.awk >_$@ - -$(CMP) $(srcdir)/arynasty.ok _$@ && rm -f _$@ - -shadow:: - @-AWKPATH=$(srcdir) $(AWK) --lint -f shadow.awk >_$@ 2>&1 || exit 0 - -$(CMP) $(srcdir)/shadow.ok _$@ && rm -f _$@ - -regx8bit:: - @$(AWK) -f $(srcdir)/regx8bit.awk >_$@ - -$(CMP) $(srcdir)/regx8bit.ok _$@ && rm -f _$@ - -psx96sub:: - @$(AWK) -f $(srcdir)/psx96sub.awk >_$@ - -$(CMP) $(srcdir)/psx96sub.ok _$@ && rm -f _$@ - -addcomma:: - @$(AWK) -f $(srcdir)/addcomma.awk $(srcdir)/addcomma.in >_$@ - -$(CMP) $(srcdir)/addcomma.ok _$@ && rm -f _$@ - -gnuops2:: - @$(AWK) -f $(srcdir)/gnuops2.awk >_$@ - -$(CMP) $(srcdir)/gnuops2.ok _$@ && rm -f _$@ - -rebt8b1:: - @$(AWK) -f $(srcdir)/rebt8b1.awk >_$@ - -$(CMP) $(srcdir)/rebt8b1.ok _$@ && rm -f _$@ - -rebt8b2:: - @$(AWK) -f $(srcdir)/rebt8b2.awk >_$@ - -$(CMP) $(srcdir)/rebt8b2.ok _$@ && rm -f _$@ - -leadnl:: - @$(AWK) -f $(srcdir)/leadnl.awk $(srcdir)/leadnl.in >_$@ - -$(CMP) $(srcdir)/leadnl.ok _$@ && rm -f _$@ - -funsemnl:: - @$(AWK) -f $(srcdir)/funsemnl.awk >_$@ - -$(CMP) $(srcdir)/funsemnl.ok _$@ && rm -f _$@ - -ofmtfidl:: - @$(AWK) -f $(srcdir)/ofmtfidl.awk $(srcdir)/ofmtfidl.in >_$@ - -$(CMP) $(srcdir)/ofmtfidl.ok _$@ && rm -f _$@ - -onlynl:: - @$(AWK) -f $(srcdir)/onlynl.awk $(srcdir)/onlynl.in >_$@ - -$(CMP) $(srcdir)/onlynl.ok _$@ && rm -f _$@ - -arrymem1:: - @$(AWK) -f $(srcdir)/arrymem1.awk >_$@ - -$(CMP) $(srcdir)/arrymem1.ok _$@ && rm -f _$@ - -compare2:: - @$(AWK) -f $(srcdir)/compare2.awk >_$@ - -$(CMP) $(srcdir)/compare2.ok _$@ && rm -f _$@ - -minusstr:: - @$(AWK) -f $(srcdir)/minusstr.awk >_$@ - -$(CMP) $(srcdir)/minusstr.ok _$@ && rm -f _$@ - -membug1:: - @$(AWK) -f $(srcdir)/membug1.awk $(srcdir)/membug1.in >_$@ - -$(CMP) $(srcdir)/membug1.ok _$@ && rm -f _$@ - -forsimp:: - @$(AWK) -f $(srcdir)/forsimp.awk >_$@ - -$(CMP) $(srcdir)/forsimp.ok _$@ && rm -f _$@ - -concat1:: - @$(AWK) -f $(srcdir)/concat1.awk $(srcdir)/concat1.in >_$@ - -$(CMP) $(srcdir)/concat1.ok _$@ && rm -f _$@ - -longsub:: - @$(AWK) -f $(srcdir)/longsub.awk $(srcdir)/longsub.in >_$@ - -$(CMP) $(srcdir)/longsub.ok _$@ && rm -f _$@ + @-$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@ + +gsubtst3:: + @echo $@ + @$(AWK) --re-interval -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +space:: + @echo $@ + @$(AWK) -f ' ' $(srcdir)/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +printf0:: + @echo $@ + @$(AWK) --posix -f $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +Gt-dummy: +# file Maketests, generated from Makefile.am by the Gentests program +addcomma: + @echo addcomma + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +anchgsub: + @echo anchgsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrayparm: + @echo arrayparm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrayref: + @echo arrayref + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrymem1: + @echo arrymem1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arynasty: + @echo arynasty + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arysubnm: + @echo arysubnm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asgext: + @echo asgext + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +back89: + @echo back89 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +backgsub: + @echo backgsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +childin: + @echo childin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +clsflnam: + @echo clsflnam + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +compare2: + @echo compare2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +concat1: + @echo concat1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +convfmt: + @echo convfmt + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +datanonl: + @echo datanonl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +defref: + @echo defref + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +delarprm: + @echo delarprm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +dynlj: + @echo dynlj + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +eofsplit: + @echo eofsplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fldchg: + @echo fldchg + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fldchgnf: + @echo fldchgnf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnamedat: + @echo fnamedat + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnarray: + @echo fnarray + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnarydel: + @echo fnarydel + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnaryscl: + @echo fnaryscl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnasgnm: + @echo fnasgnm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnmisc: + @echo fnmisc + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnparydl: + @echo fnparydl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +forsimp: + @echo forsimp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsbs: + @echo fsbs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsrs: + @echo fsrs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fstabplus: + @echo fstabplus + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funsemnl: + @echo funsemnl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funsmnam: + @echo funsmnam + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funstack: + @echo funstack + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getline: + @echo getline + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getline3: + @echo getline3 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getnr2tb: + @echo getnr2tb + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getnr2tm: + @echo getnr2tm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubasgn: + @echo gsubasgn + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtest: + @echo gsubtest + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtst2: + @echo gsubtst2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtst4: + @echo gsubtst4 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +hsprint: + @echo hsprint + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +inputred: + @echo inputred + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +intest: + @echo intest + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +intprec: + @echo intprec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +leadnl: + @echo leadnl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +longsub: + @echo longsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +longwrds: + @echo longwrds + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +math: + @echo math + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +membug1: + @echo membug1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +minusstr: + @echo minusstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nasty: + @echo nasty + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nasty2: + @echo nasty2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +negexp: + @echo negexp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfldstr: + @echo nfldstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfneg: + @echo nfneg + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfset: + @echo nfset + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlfldsep: + @echo nlfldsep + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlinstr: + @echo nlinstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlstrina: + @echo nlstrina + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noeffect: + @echo noeffect + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nofmtch: + @echo nofmtch + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noloop1: + @echo noloop1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noloop2: + @echo noloop2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noparms: + @echo noparms + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nulrsend: + @echo nulrsend + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +numindex: + @echo numindex + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +numsubstr: + @echo numsubstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +octsub: + @echo octsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmt: + @echo ofmt + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmtbig: + @echo ofmtbig + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmtfidl: + @echo ofmtfidl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmts: + @echo ofmts + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +onlynl: + @echo onlynl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +opasnidx: + @echo opasnidx + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +opasnslf: + @echo opasnslf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +paramdup: + @echo paramdup + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +paramtyp: + @echo paramtyp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +parseme: + @echo parseme + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +pcntplus: + @echo pcntplus + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prdupval: + @echo prdupval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prec: + @echo prec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +printf1: + @echo printf1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prmarscl: + @echo prmarscl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prmreuse: + @echo prmreuse + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prt1eval: + @echo prt1eval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prtoeval: + @echo prtoeval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +psx96sub: + @echo psx96sub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rand: + @echo rand + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebt8b1: + @echo rebt8b1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebt8b2: + @echo rebt8b2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +regeq: + @echo regeq + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +reindops: + @echo reindops + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +reparse: + @echo reparse + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +resplit: + @echo resplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rs: + @echo rs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rsnul1nl: + @echo rsnul1nl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rstest1: + @echo rstest1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rstest2: + @echo rstest2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rswhite: + @echo rswhite + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sclforin: + @echo sclforin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sclifin: + @echo sclifin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitargv: + @echo splitargv + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitarr: + @echo splitarr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitdef: + @echo splitdef + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitvar: + @echo splitvar + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitwht: + @echo splitwht + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sprintfc: + @echo sprintfc + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +strtod: + @echo strtod + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +subslash: + @echo subslash + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +substr: + @echo substr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +swaplns: + @echo swaplns + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +synerr1: + @echo synerr1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +uninitialized: + @echo uninitialized + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +uninit2: + @echo uninit2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +zeroe0: + @echo zeroe0 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +zeroflag: + @echo zeroflag + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getlnhd: + @echo getlnhd + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asort: + @echo asort + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asorti: + @echo asorti + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +clos1way: + @echo clos1way + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fieldwdth: + @echo fieldwdth + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsfwfs: + @echo fsfwfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gensub: + @echo gensub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gnuops2: + @echo gnuops2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gnureops: + @echo gnureops + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +icasefs: + @echo icasefs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +icasers: + @echo icasers + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +igncdym: + @echo igncdym + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +igncfs: + @echo igncfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ignrcase: + @echo ignrcase + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +lint: + @echo lint + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +match1: + @echo match1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nondec: + @echo nondec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +posix: + @echo posix + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +procinfs: + @echo procinfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +regx8bit: + @echo regx8bit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebuf: + @echo rebuf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +shadow: + @echo shadow + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sort1: + @echo sort1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +# end of file Maketests + +# Targets generated for other tests: + +$(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests + $(AWK) -f $(srcdir)/Gentests "$<" *.awk *.in > $(srcdir)/Maketests clean: - rm -fr _* core junk out1 out2 out3 strftime.ok test1 test2 seq *~ + rm -fr _* core core.* junk out1 out2 out3 strftime.ok test1 test2 seq *~ # An attempt to print something that can be grepped for in build logs pass-fail: @@ -1320,6 +1777,18 @@ diffout: echo ============== $$i ============= ; \ diff -c $${i#_}.ok $$i ; \ done | more + +# 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 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/test/Maketests b/test/Maketests new file mode 100644 index 00000000..97179e7b --- /dev/null +++ b/test/Maketests @@ -0,0 +1,718 @@ +Gt-dummy: +# file Maketests, generated from Makefile.am by the Gentests program +addcomma: + @echo addcomma + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +anchgsub: + @echo anchgsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrayparm: + @echo arrayparm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrayref: + @echo arrayref + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arrymem1: + @echo arrymem1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arynasty: + @echo arynasty + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +arysubnm: + @echo arysubnm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asgext: + @echo asgext + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +back89: + @echo back89 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +backgsub: + @echo backgsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +childin: + @echo childin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +clsflnam: + @echo clsflnam + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +compare2: + @echo compare2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +concat1: + @echo concat1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +convfmt: + @echo convfmt + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +datanonl: + @echo datanonl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +defref: + @echo defref + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +delarprm: + @echo delarprm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +dynlj: + @echo dynlj + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +eofsplit: + @echo eofsplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fldchg: + @echo fldchg + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fldchgnf: + @echo fldchgnf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnamedat: + @echo fnamedat + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnarray: + @echo fnarray + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnarydel: + @echo fnarydel + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnaryscl: + @echo fnaryscl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnasgnm: + @echo fnasgnm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnmisc: + @echo fnmisc + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fnparydl: + @echo fnparydl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +forsimp: + @echo forsimp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsbs: + @echo fsbs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsrs: + @echo fsrs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fstabplus: + @echo fstabplus + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funsemnl: + @echo funsemnl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funsmnam: + @echo funsmnam + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +funstack: + @echo funstack + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getline: + @echo getline + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getline3: + @echo getline3 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getnr2tb: + @echo getnr2tb + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getnr2tm: + @echo getnr2tm + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubasgn: + @echo gsubasgn + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtest: + @echo gsubtest + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtst2: + @echo gsubtst2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gsubtst4: + @echo gsubtst4 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +hsprint: + @echo hsprint + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +inputred: + @echo inputred + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +intest: + @echo intest + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +intprec: + @echo intprec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +leadnl: + @echo leadnl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +longsub: + @echo longsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +longwrds: + @echo longwrds + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +math: + @echo math + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +membug1: + @echo membug1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +minusstr: + @echo minusstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nasty: + @echo nasty + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nasty2: + @echo nasty2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +negexp: + @echo negexp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfldstr: + @echo nfldstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfneg: + @echo nfneg + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nfset: + @echo nfset + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlfldsep: + @echo nlfldsep + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlinstr: + @echo nlinstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nlstrina: + @echo nlstrina + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noeffect: + @echo noeffect + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nofmtch: + @echo nofmtch + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noloop1: + @echo noloop1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noloop2: + @echo noloop2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +noparms: + @echo noparms + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nulrsend: + @echo nulrsend + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +numindex: + @echo numindex + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +numsubstr: + @echo numsubstr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +octsub: + @echo octsub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmt: + @echo ofmt + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmtbig: + @echo ofmtbig + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmtfidl: + @echo ofmtfidl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ofmts: + @echo ofmts + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +onlynl: + @echo onlynl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +opasnidx: + @echo opasnidx + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +opasnslf: + @echo opasnslf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +paramdup: + @echo paramdup + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +paramtyp: + @echo paramtyp + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +parseme: + @echo parseme + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +pcntplus: + @echo pcntplus + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prdupval: + @echo prdupval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prec: + @echo prec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +printf1: + @echo printf1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prmarscl: + @echo prmarscl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prmreuse: + @echo prmreuse + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prt1eval: + @echo prt1eval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +prtoeval: + @echo prtoeval + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +psx96sub: + @echo psx96sub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rand: + @echo rand + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebt8b1: + @echo rebt8b1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebt8b2: + @echo rebt8b2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +regeq: + @echo regeq + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +reindops: + @echo reindops + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +reparse: + @echo reparse + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +resplit: + @echo resplit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rs: + @echo rs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rsnul1nl: + @echo rsnul1nl + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rstest1: + @echo rstest1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rstest2: + @echo rstest2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rswhite: + @echo rswhite + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sclforin: + @echo sclforin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sclifin: + @echo sclifin + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitargv: + @echo splitargv + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitarr: + @echo splitarr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitdef: + @echo splitdef + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitvar: + @echo splitvar + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +splitwht: + @echo splitwht + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sprintfc: + @echo sprintfc + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +strtod: + @echo strtod + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +subslash: + @echo subslash + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +substr: + @echo substr + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +swaplns: + @echo swaplns + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +synerr1: + @echo synerr1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +uninitialized: + @echo uninitialized + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +uninit2: + @echo uninit2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +zeroe0: + @echo zeroe0 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +zeroflag: + @echo zeroflag + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +getlnhd: + @echo getlnhd + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asort: + @echo asort + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +asorti: + @echo asorti + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +clos1way: + @echo clos1way + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fieldwdth: + @echo fieldwdth + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +fsfwfs: + @echo fsfwfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gensub: + @echo gensub + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gnuops2: + @echo gnuops2 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +gnureops: + @echo gnureops + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +icasefs: + @echo icasefs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +icasers: + @echo icasers + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +igncdym: + @echo igncdym + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +igncfs: + @echo igncfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +ignrcase: + @echo ignrcase + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +lint: + @echo lint + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +match1: + @echo match1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +nondec: + @echo nondec + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +posix: + @echo posix + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +procinfs: + @echo procinfs + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +regx8bit: + @echo regx8bit + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +rebuf: + @echo rebuf + @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +shadow: + @echo shadow + @AWKPATH=$(srcdir) $(AWK) -f $@.awk --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +sort1: + @echo sort1 + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +# end of file Maketests diff --git a/test/arrayparm.ok b/test/arrayparm.ok index 4a775efe..4dd199f4 100644 --- a/test/arrayparm.ok +++ b/test/arrayparm.ok @@ -1 +1,2 @@ gawk: arrayparm.awk:18: fatal: attempt to use array `i (from foo)' in a scalar context +EXIT CODE: 2 diff --git a/test/arrymem1.awk b/test/arrymem1.awk index 561cc956..0a4ae899 100644 --- a/test/arrymem1.awk +++ b/test/arrymem1.awk @@ -40,14 +40,20 @@ } function f1(Procs,a) { - a[""] + # a[""] + a[""] = "a" # ADR: Give it a value so can trace it f2() } function f2() { - b[""] + # b[""] + b[""] = "b" # ADR: Give it a value so can trace it } + # ADR: 1/28/2003: Added this: + BEGIN { for (i in b) printf("b[\"%s\"] = \"%s\"\n", i, b[i]) } + # END ADR added. + # gives: # # gawk: ./gtest:5: fatal error: internal error diff --git a/test/arrymem1.ok b/test/arrymem1.ok index 9daeafb9..e37775bc 100644 --- a/test/arrymem1.ok +++ b/test/arrymem1.ok @@ -1 +1,2 @@ test +b[""] = "b" diff --git a/test/asort.awk b/test/asort.awk new file mode 100644 index 00000000..8a42e26a --- /dev/null +++ b/test/asort.awk @@ -0,0 +1,25 @@ +function init(a) +{ + a[1] = "aardvark" + a[2] = "animal" + a[3] = "zebra" + a[4] = "zoo" + a[5] = "Iguana" + a[6] = "Alligator" + a[7] = "Nouns" + a[8] = "people" +} + +BEGIN { + + for (IGNORECASE = 0; IGNORECASE < 2; IGNORECASE++) { + init(a) + + n = asort(a) + + for (i = 1; i <= n; i++) + printf("a[%d] = \"%s\"\n", i, a[i]) + + print "============" + } +} diff --git a/test/asort.ok b/test/asort.ok new file mode 100644 index 00000000..1d0ddd0f --- /dev/null +++ b/test/asort.ok @@ -0,0 +1,18 @@ +a[1] = "Alligator" +a[2] = "Iguana" +a[3] = "Nouns" +a[4] = "aardvark" +a[5] = "animal" +a[6] = "people" +a[7] = "zebra" +a[8] = "zoo" +============ +a[1] = "aardvark" +a[2] = "Alligator" +a[3] = "animal" +a[4] = "Iguana" +a[5] = "Nouns" +a[6] = "people" +a[7] = "zebra" +a[8] = "zoo" +============ diff --git a/test/asorti.awk b/test/asorti.awk new file mode 100644 index 00000000..3314c9f3 --- /dev/null +++ b/test/asorti.awk @@ -0,0 +1,27 @@ +function init(a) +{ + delete a + + a["aardvark"] = 1 + a["animal"] = 2 + a["zebra"] = 3 + a["zoo"] = 4 + a["Iguana"] = 5 + a["Alligator"] = 6 + a["Nouns"] = 7 + a["people"] = 8 +} + +BEGIN { + + for (IGNORECASE = 0; IGNORECASE < 2; IGNORECASE++) { + init(a) + + n = asorti(a) + + for (i = 1; i <= n; i++) + printf("a[%d] = \"%s\"\n", i, a[i]) + + print "============" + } +} diff --git a/test/asorti.ok b/test/asorti.ok new file mode 100644 index 00000000..1d0ddd0f --- /dev/null +++ b/test/asorti.ok @@ -0,0 +1,18 @@ +a[1] = "Alligator" +a[2] = "Iguana" +a[3] = "Nouns" +a[4] = "aardvark" +a[5] = "animal" +a[6] = "people" +a[7] = "zebra" +a[8] = "zoo" +============ +a[1] = "aardvark" +a[2] = "Alligator" +a[3] = "animal" +a[4] = "Iguana" +a[5] = "Nouns" +a[6] = "people" +a[7] = "zebra" +a[8] = "zoo" +============ diff --git a/test/back89.awk b/test/back89.awk new file mode 100644 index 00000000..0da33625 --- /dev/null +++ b/test/back89.awk @@ -0,0 +1 @@ +/a\8b/ diff --git a/test/childin.awk b/test/childin.awk new file mode 100644 index 00000000..041c6ec1 --- /dev/null +++ b/test/childin.awk @@ -0,0 +1 @@ +BEGIN { "cat" | getline; print; close("cat") } diff --git a/test/childin.in b/test/childin.in new file mode 100644 index 00000000..45b983be --- /dev/null +++ b/test/childin.in @@ -0,0 +1 @@ +hi diff --git a/test/defref.ok b/test/defref.ok index f833c961..e0061a0d 100644 --- a/test/defref.ok +++ b/test/defref.ok @@ -1,2 +1,3 @@ gawk: defref.awk:2: warning: function `foo' called but never defined gawk: defref.awk:1: fatal: function `foo' not defined +EXIT CODE: 2 diff --git a/test/fieldwdth.awk b/test/fieldwdth.awk new file mode 100644 index 00000000..f2eeb6ce --- /dev/null +++ b/test/fieldwdth.awk @@ -0,0 +1,2 @@ +BEGIN { FIELDWIDTHS = "2 3 4" } +{ print $2 } diff --git a/test/fieldwdth.in b/test/fieldwdth.in new file mode 100644 index 00000000..28d14454 --- /dev/null +++ b/test/fieldwdth.in @@ -0,0 +1 @@ +123456789 diff --git a/test/fnamedat.ok b/test/fnamedat.ok index 0dd0ae5a..d32acff4 100644 --- a/test/fnamedat.ok +++ b/test/fnamedat.ok @@ -1 +1,2 @@ gawk: fnamedat.awk:1: (FILENAME=- FNR=1) fatal: can't use function name `foo' as variable or array +EXIT CODE: 2 diff --git a/test/fnarray.ok b/test/fnarray.ok index 94beacdd..2ef124b7 100644 --- a/test/fnarray.ok +++ b/test/fnarray.ok @@ -1 +1,3 @@ -gawk: fnarray.awk:5: fatal: attempt to use function `foo' as array +gawk: fnarray.awk:5: fatal: function `foo' called with space between name and `(', +or used as a variable or an array +EXIT CODE: 2 diff --git a/test/fnaryscl.ok b/test/fnaryscl.ok index d39dfdcc..2fecd582 100644 --- a/test/fnaryscl.ok +++ b/test/fnaryscl.ok @@ -1 +1,2 @@ gawk: fnaryscl.awk:10: fatal: attempt to use array `c (from b (from a (from foo)))' in a scalar context +EXIT CODE: 2 diff --git a/test/fnasgnm.ok b/test/fnasgnm.ok index 844893c0..0db5c6d8 100644 --- a/test/fnasgnm.ok +++ b/test/fnasgnm.ok @@ -1 +1,2 @@ gawk: fnasgnm.awk:14: (FILENAME=- FNR=1) fatal: can't use function name `ShowMe' as variable or array +EXIT CODE: 2 diff --git a/test/fnmisc.awk b/test/fnmisc.awk new file mode 100644 index 00000000..4dcc94ee --- /dev/null +++ b/test/fnmisc.awk @@ -0,0 +1,13 @@ +# Tue Feb 4 12:20:10 IST 2003 + +# Misc functions tests, in case we start mucking around in the grammar again. + +# Empty body shouldn't hurt anything: +function f() {} +BEGIN { f() } + +# Using a built-in function name should manage the symbol table +# correctly: +function split(x) { return x } + +function x(a) { return a } diff --git a/test/fnmisc.ok b/test/fnmisc.ok new file mode 100644 index 00000000..a265e401 --- /dev/null +++ b/test/fnmisc.ok @@ -0,0 +1,3 @@ +gawk: fnmisc.awk:11: function split(x) { return x } +gawk: fnmisc.awk:11: ^ `split' is a built-in function, it cannot be redefined +EXIT CODE: 1 diff --git a/test/fsbs.awk b/test/fsbs.awk new file mode 100644 index 00000000..d2ec52ee --- /dev/null +++ b/test/fsbs.awk @@ -0,0 +1,2 @@ +BEGIN { FS = "\\" } +{ print $1, $2 } diff --git a/test/fstabplus.in b/test/fstabplus.in new file mode 100644 index 00000000..c35ba0a2 --- /dev/null +++ b/test/fstabplus.in @@ -0,0 +1 @@ +1 2 diff --git a/test/funsmnam.ok b/test/funsmnam.ok index bc68a2f3..c0234f3a 100644 --- a/test/funsmnam.ok +++ b/test/funsmnam.ok @@ -1 +1,2 @@ gawk: funsmnam.awk:6: fatal: function `foo': can't use function name as parameter name +EXIT CODE: 2 diff --git a/test/getline.awk b/test/getline.awk index f4e413f9..fc09f789 100644 --- a/test/getline.awk +++ b/test/getline.awk @@ -1 +1,29 @@ -BEGIN { while( getline > 0) { print } } +BEGIN { + x = y = "s" + a = (getline x y) + print a, x + a = (getline x + 1) + print a, x + a = (getline x - 2) + print a, x + + cmd = "echo A" + a = (cmd | getline x y) + close(cmd) + print a, x + + cmd = "echo B" + a = (cmd | getline x + 1) + close(cmd) + print a, x + + cmd = "echo C" + a = (cmd | getline x - 2) + close(cmd) + print a, x + + cmd = "echo D" + a = cmd | getline x + close(cmd) + print a, x +} diff --git a/test/getline.in b/test/getline.in new file mode 100644 index 00000000..b1e67221 --- /dev/null +++ b/test/getline.in @@ -0,0 +1,3 @@ +A +B +C diff --git a/test/getline.ok b/test/getline.ok index 9b7f2b90..dd5bdb64 100644 --- a/test/getline.ok +++ b/test/getline.ok @@ -1,2 +1,7 @@ -BEGIN { while( getline > 0) { print } } -BEGIN { while( getline > 0) { print } } +1s A +2 B +-1 C +1s A +2 B +-1 C +1 D diff --git a/test/getline2.awk b/test/getline2.awk new file mode 100644 index 00000000..f4e413f9 --- /dev/null +++ b/test/getline2.awk @@ -0,0 +1 @@ +BEGIN { while( getline > 0) { print } } diff --git a/test/getline2.ok b/test/getline2.ok new file mode 100644 index 00000000..9b7f2b90 --- /dev/null +++ b/test/getline2.ok @@ -0,0 +1,2 @@ +BEGIN { while( getline > 0) { print } } +BEGIN { while( getline > 0) { print } } diff --git a/test/getline3.awk b/test/getline3.awk new file mode 100644 index 00000000..03e1239d --- /dev/null +++ b/test/getline3.awk @@ -0,0 +1,7 @@ +BEGIN { + cmd = "echo 3" + y = 7 + cmd | getline x y + close(cmd) + print (cmd | getline x y) +} diff --git a/test/getline3.ok b/test/getline3.ok new file mode 100644 index 00000000..98d9bcb7 --- /dev/null +++ b/test/getline3.ok @@ -0,0 +1 @@ +17 diff --git a/test/gsubasgn.ok b/test/gsubasgn.ok index dfa6fbc7..8817c36d 100644 --- a/test/gsubasgn.ok +++ b/test/gsubasgn.ok @@ -2,3 +2,4 @@ gawk: gsubasgn.awk:4: function test1 (r) { gsub(r, "x", test1) } gawk: gsubasgn.awk:4: ^ gsub third parameter is not a changeable object gawk: gsubasgn.awk:8: function test2 () { gsub(/a/, "x", test2) } gawk: gsubasgn.awk:8: ^ gsub third parameter is not a changeable object +EXIT CODE: 1 diff --git a/test/gsubtest.awk b/test/gsubtest.awk index 5dfefe93..1d6fd1cf 100644 --- a/test/gsubtest.awk +++ b/test/gsubtest.awk @@ -5,4 +5,5 @@ BEGIN { str = "abc"; print gsub("c", "X", str), str str = "abc"; print gsub("c+", "X", str), str str = "abc"; print gsub("x*$", "X", str), str + str = "abc"; print gsub("b|$", "X", str), str } diff --git a/test/gsubtest.ok b/test/gsubtest.ok index 7c18f431..f909d0d2 100644 --- a/test/gsubtest.ok +++ b/test/gsubtest.ok @@ -4,3 +4,4 @@ 1 abX 1 abX 1 abcX +2 aXcX diff --git a/test/gsubtst2.awk b/test/gsubtst2.awk new file mode 100644 index 00000000..fafbf963 --- /dev/null +++ b/test/gsubtst2.awk @@ -0,0 +1,241 @@ +#From arnold Thu May 9 17:27:03 2002 +#Return-Path: <arnold@skeeve.com> +#Received: (from arnold@localhost) +# by skeeve.com (8.11.6/8.11.6) id g49ER3K27925 +# for arnold; Thu, 9 May 2002 17:27:03 +0300 +#Date: Thu, 9 May 2002 17:27:03 +0300 +#From: Aharon Robbins <arnold@skeeve.com> +#Message-Id: <200205091427.g49ER3K27925@skeeve.com> +#To: arnold@skeeve.com +#Subject: fixme +#X-SpamBouncer: 1.4 (10/07/01) +#X-SBRule: Pattern Match (Other Patterns) (Score: 4850) +#X-SBRule: Pattern Match (Spam Phone #) (Score: 0) +#X-SBClass: Blocked +#Status: O +# +#Path: ord-read.news.verio.net!dfw-artgen!iad-peer.news.verio.net!news.verio.net!fu-berlin.de!uni-berlin.de!host213-120-137-48.in-addr.btopenworld.COM!not-for-mail +#From: laura@madonnaweb.com (laura fairhead) +#Newsgroups: comp.lang.awk +#Subject: bug in gawk3.1.0 regex code +#Date: Wed, 08 May 2002 23:31:40 GMT +#Organization: that'll be the daewooo :) +#Lines: 211 +#Message-ID: <3cd9b0f7.29675926@NEWS.CIS.DFN.DE> +#Reply-To: laura@madonnaweb.com +#NNTP-Posting-Host: host213-120-137-48.in-addr.btopenworld.com (213.120.137.48) +#X-Trace: fu-berlin.de 1020900891 18168286 213.120.137.48 (16 [53286]) +#X-Newsreader: Forte Free Agent 1.21/32.243 +#Xref: dfw-artgen comp.lang.awk:13059 +# +# +#I believe I've just found a bug in gawk3.1.0 implementation of +#extended regular expressions. It seems to be down to the alternation +#operator; when using an end anchor '$' as a subexpression in an +#alternation and the entire matched RE is a nul-string it fails +#to match the end of string, for example; +# +#gsub(/$|2/,"x") +#print +# +#input = 12345 +#expected output = 1x345x +#actual output = 1x345 +# +#The start anchor '^' always works as expected; +# +#gsub(/^|2/,"x") +#print +# +#input = 12345 +#expected output = x1x345 +#actual output = x1x345 +# +#This was with POSIX compliance enabled althought that doesn't +#effect the result. +# +#I checked on gawk3.0.6 and got exactly the same results however +#gawk2.15.6 gives the expected results. +# +#I'm about to post a bug report about this into gnu.utils.bug +#but I thought I'd post it here first in case anyone has +#any input/comments/whatever .... +# +#Complete test results were as follows; +# +#input 12345 +#output gsub(/regex/,"x",input) +# +#regex output +#(^) x12345 +#($) 12345x +#(^)|($) x12345x +#($)|(^) x12345x +#(2) 1x345 +#(^)|2 x1x345 +#2|(^) x1x345 +#($)|2 1x345 +#2|($) 1x345 +#(2)|(^) x1x345 +#(^)|(2) x1x345 +#(2)|($) 1x345 +#($)|(2) 1x345 +#.((2)|(^)) x345 +#.((^)|(2)) x345 +#.((2)|($)) x34x +#.(($)|(2)) x34x +#x{0}((2)|(^)) x1x345 +#x{0}((^)|(2)) x1x345 +#x{0}((2)|($)) 1x345 +#x{0}(($)|(2)) 1x345 +#x*((2)|(^)) x1x345 +#x*((^)|(2)) x1x345 +#x*((2)|($)) 1x345 +#x*(($)|(2)) 1x345 +# +#Here's the test program I used, a few of the cases use ERE {n[,[m]]} +#operators so that will have to be commented out or have a check +#added or something (should have put a conditional in I know... ;-) +# +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +BEGIN{ + +TESTSTR="12345" + +print "input "TESTSTR +print "output gsub(/regex/,\"x\",input)" +print "" + +print "regex output" +$0=TESTSTR +gsub(/(^)/,"x") +print "(^) "$0 + +$0=TESTSTR +gsub(/($)/,"x") +print "($) "$0 + +$0=TESTSTR +gsub(/(^)|($)/,"x") +print "(^)|($) "$0 + +$0=TESTSTR +gsub(/($)|(^)/,"x") +print "($)|(^) "$0 + +$0=TESTSTR +gsub(/2/,"x") +print "(2) "$0 + +$0=TESTSTR +gsub(/(^)|2/,"x") +print "(^)|2 "$0 + +$0=TESTSTR +gsub(/2|(^)/,"x") +print "2|(^) "$0 + +$0=TESTSTR +gsub(/($)|2/,"x") +print "($)|2 "$0 + +$0=TESTSTR +gsub(/2|($)/,"x") +print "2|($) "$0 + +$0=TESTSTR +gsub(/(2)|(^)/,"x") +print "(2)|(^) "$0 + +$0=TESTSTR +gsub(/(^)|(2)/,"x") +print "(^)|(2) "$0 + +$0=TESTSTR +gsub(/(2)|($)/,"x") +print "(2)|($) "$0 + +$0=TESTSTR +gsub(/($)|(2)/,"x") +print "($)|(2) "$0 + +$0=TESTSTR +gsub(/.((2)|(^))/,"x") +print ".((2)|(^)) "$0 + +$0=TESTSTR +gsub(/.((^)|(2))/,"x") +print ".((^)|(2)) "$0 + +$0=TESTSTR +gsub(/.((2)|($))/,"x") +print ".((2)|($)) "$0 + +$0=TESTSTR +gsub(/.(($)|(2))/,"x") +print ".(($)|(2)) "$0 + +# $0=TESTSTR +# gsub(/x{0}((2)|(^))/,"x") +# print "x{0}((2)|(^)) "$0 +# +# $0=TESTSTR +# gsub(/x{0}((^)|(2))/,"x") +# print "x{0}((^)|(2)) "$0 +# +# $0=TESTSTR +# gsub(/x{0}((2)|($))/,"x") +# print "x{0}((2)|($)) "$0 +# +# $0=TESTSTR +# gsub(/x{0}(($)|(2))/,"x") +# print "x{0}(($)|(2)) "$0 + +$0=TESTSTR +gsub(/x*((2)|(^))/,"x") +print "x*((2)|(^)) "$0 + +$0=TESTSTR +gsub(/x*((^)|(2))/,"x") +print "x*((^)|(2)) "$0 + +$0=TESTSTR +gsub(/x*((2)|($))/,"x") +print "x*((2)|($)) "$0 + +$0=TESTSTR +gsub(/x*(($)|(2))/,"x") +print "x*(($)|(2)) "$0 + +# $0=TESTSTR +# gsub(/x{0}^/,"x") +# print "x{0}^ "$0 +# +# $0=TESTSTR +# gsub(/x{0}$/,"x") +# print "x{0}$ "$0 +# +# $0=TESTSTR +# gsub(/(x{0}^)|2/,"x") +# print "(x{0}^)|2 "$0 +# +# $0=TESTSTR +# gsub(/(x{0}$)|2/,"x") +# print "(x{0}$)|2 "$0 + + +} +# +#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +#byefrom +# +#-- +#laura fairhead # laura@madonnaweb.com http://lf.8k.com +# # if you are bored crack my sig. +#1F8B0808CABB793C0000666667002D8E410E83300C04EF91F2877D00CA138A7A +#EAA98F30C494480157B623C4EF1B508FDED1CEFA9152A23DE35D661593C5318E +#630C313CD701BE92E390563326EE17A3CA818F5266E4C2461547F1F5267659CA +#8EE2092F76C329ED02CA430C5373CC62FF94BAC6210B36D9F9BC4AB53378D978 +#80F2978A1A6E5D6F5133B67B6113178DC1059526698AFE5C17A5187E7D930492 diff --git a/test/gsubtst2.ok b/test/gsubtst2.ok new file mode 100644 index 00000000..a038528b --- /dev/null +++ b/test/gsubtst2.ok @@ -0,0 +1,25 @@ +input 12345 +output gsub(/regex/,"x",input) + +regex output +(^) x12345 +($) 12345x +(^)|($) x12345x +($)|(^) x12345x +(2) 1x345 +(^)|2 x1x345 +2|(^) x1x345 +($)|2 1x345x +2|($) 1x345x +(2)|(^) x1x345 +(^)|(2) x1x345 +(2)|($) 1x345x +($)|(2) 1x345x +.((2)|(^)) x345 +.((^)|(2)) x345 +.((2)|($)) x34x +.(($)|(2)) x34x +x*((2)|(^)) x1x345 +x*((^)|(2)) x1x345 +x*((2)|($)) 1x345x +x*(($)|(2)) 1x345x diff --git a/test/gsubtst3.awk b/test/gsubtst3.awk new file mode 100644 index 00000000..1c4f4ead --- /dev/null +++ b/test/gsubtst3.awk @@ -0,0 +1,290 @@ +# From laura_fairhead@talk21.com Fri May 10 11:24:41 2002 +# Return-Path: <laura_fairhead@talk21.com> +# Received: from localhost (aahz [127.0.0.1]) +# by skeeve.com (8.11.2/8.11.2) with ESMTP id g4A8OdU01822 +# for <arnold@localhost>; Fri, 10 May 2002 11:24:40 +0300 +# Received: from actcom.co.il [192.114.47.1] +# by localhost with POP3 (fetchmail-5.7.4) +# for arnold@localhost (single-drop); Fri, 10 May 2002 11:24:40 +0300 (IDT) +# Received: by actcom.co.il (mbox arobbins) +# (with Cubic Circle's cucipop (v1.31 1998/05/13) Fri May 10 11:30:42 2002) +# X-From_: laura_fairhead@talk21.com Fri May 10 05:39:57 2002 +# Received: from lmail.actcom.co.il by actcom.co.il with ESMTP +# (8.11.6/actcom-0.2) id g4A2dpw26380 for <arobbins@actcom.co.il>; +# Fri, 10 May 2002 05:39:52 +0300 (EET DST) +# (rfc931-sender: mail.actcom.co.il [192.114.47.13]) +# Received: from f7.net (consort.superb.net [209.61.216.22]) +# by lmail.actcom.co.il (8.11.6/8.11.6) with ESMTP id g4A2dxl10851 +# for <arobbins@actcom.co.il>; Fri, 10 May 2002 05:39:59 +0300 +# Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) +# by f7.net (8.11.6/8.11.6) with ESMTP id g4A2dwN11097 +# for <arnold@skeeve.com>; Thu, 9 May 2002 22:39:58 -0400 +# Received: from [194.73.242.6] (helo=wmpmta04-app.mail-store.com) +# by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) +# id 1760K4-0001QX-00 +# for <bug-gawk@gnu.org>; Thu, 09 May 2002 22:39:56 -0400 +# Received: from wmpmtavirtual ([10.216.84.15]) +# by wmpmta04-app.mail-store.com +# (InterMail vM.5.01.02.00 201-253-122-103-101-20001108) with SMTP +# id <20020510023921.EEW24107.wmpmta04-app.mail-store.com@wmpmtavirtual> +# for <bug-gawk@gnu.org>; Fri, 10 May 2002 03:39:21 +0100 +# Received: from 213.1.102.243 by t21web05-lrs ([10.216.84.15]); Fri, 10 May 02 03:38:42 GMT+01:00 +# X-Mailer: talk21 v1.24 - http://talk21.btopenworld.com +# From: laura_fairhead@talk21.com +# To: bug-gawk@gnu.org +# X-Talk21Ref: none +# Date: Fri, 10 May 2002 03:38:42 GMT+01:00 +# Subject: bug in gawk 3.1.0 regex code +# Mime-Version: 1.0 +# Content-type: multipart/mixed; boundary="--GgOuLpDpIyE--1020998322088--" +# Message-Id: <20020510023921.EEW24107.wmpmta04-app.mail-store.com@wmpmtavirtual> +# X-SpamBouncer: 1.4 (10/07/01) +# X-SBClass: OK +# Status: RO +# +# Multipart Message Boundary - attachment/bodypart follows: +# +# +# ----GgOuLpDpIyE--1020998322088-- +# Content-Type: text/plain +# Content-Transfer-Encoding: 7bit +# +# +# I believe I've just found a bug in gawk3.1.0 implementation of +# extended regular expressions. It seems to be down to the alternation +# operator; when using an end anchor '$' as a subexpression in an +# alternation and the entire matched RE is a nul-string it fails +# to match the end of string, for example; +# +# gsub(/$|2/,"x") +# print +# +# input = 12345 +# expected output = 1x345x +# actual output = 1x345 +# +# The start anchor '^' always works as expected; +# +# gsub(/^|2/,"x") +# print +# +# input = 12345 +# expected output = x1x345 +# actual output = x1x345 +# +# This was with POSIX compliance enabled althought that doesn't +# effect the result. +# +# I checked on gawk3.0.6 and got exactly the same results however +# gawk2.15.6 gives the expected results. +# +# All the follow platforms produced the same results; +# +# gawk3.0.6 / Win98 / i386 +# gawk3.1.0 / Win98 / i386 +# gawk3.0.5 / Linux2.2.16 / i386 +# +# Complete test results were as follows; +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# regex input expected actual bug? +# ------------------------------------------------------------- +# (^) 12345 x12345 x12345 +# ($) 12345 12345x 12345x +# (^)|($) 12345 x12345x x12345x +# ($)|(^) 12345 x12345x x12345x +# 2 12345 1x345 1x345 +# (^)|2 12345 x1x345 x1x345 +# 2|(^) 12345 x1x345 x1x345 +# ($)|2 12345 1x345x 1x345 **BUG** +# 2|($) 12345 1x345x 1x345 **BUG** +# (2)|(^) 12345 x1x345 x1x345 +# (^)|(2) 12345 x1x345 x1x345 +# (2)|($) 12345 1x345x 1x345 **BUG** +# ($)|(2) 12345 1x345x 1x345 **BUG** +# ((2)|(^)). 12345 xx45 xx45 +# ((^)|(2)). 12345 xx45 xx45 +# .((2)|($)) 12345 x34x x34x +# .(($)|(2)) 12345 x34x x34x +# (^)|6 12345 x12345 x12345 +# 6|(^) 12345 x12345 x12345 +# ($)|6 12345 12345x 12345x +# 6|($) 12345 12345x 12345x +# 2|6|(^) 12345 x1x345 x1x345 +# 2|(^)|6 12345 x1x345 x1x345 +# 6|2|(^) 12345 x1x345 x1x345 +# 6|(^)|2 12345 x1x345 x1x345 +# (^)|6|2 12345 x1x345 x1x345 +# (^)|2|6 12345 x1x345 x1x345 +# 2|6|($) 12345 1x345x 1x345 **BUG** +# 2|($)|6 12345 1x345x 1x345 **BUG** +# 6|2|($) 12345 1x345x 1x345 **BUG** +# 6|($)|2 12345 1x345x 1x345 **BUG** +# ($)|6|2 12345 1x345x 1x345 **BUG** +# ($)|2|6 12345 1x345x 1x345 **BUG** +# 2|4|(^) 12345 x1x3x5 x1x3x5 +# 2|(^)|4 12345 x1x3x5 x1x3x5 +# 4|2|(^) 12345 x1x3x5 x1x3x5 +# 4|(^)|2 12345 x1x3x5 x1x3x5 +# (^)|4|2 12345 x1x3x5 x1x3x5 +# (^)|2|4 12345 x1x3x5 x1x3x5 +# 2|4|($) 12345 1x3x5x 1x3x5 **BUG** +# 2|($)|4 12345 1x3x5x 1x3x5 **BUG** +# 4|2|($) 12345 1x3x5x 1x3x5 **BUG** +# 4|($)|2 12345 1x3x5x 1x3x5 **BUG** +# ($)|4|2 12345 1x3x5x 1x3x5 **BUG** +# ($)|2|4 12345 1x3x5x 1x3x5 **BUG** +# x{0}((2)|(^)) 12345 x1x345 x1x345 +# x{0}((^)|(2)) 12345 x1x345 x1x345 +# x{0}((2)|($)) 12345 1x345x 1x345 **BUG** +# x{0}(($)|(2)) 12345 1x345x 1x345 **BUG** +# x*((2)|(^)) 12345 x1x345 x1x345 +# x*((^)|(2)) 12345 x1x345 x1x345 +# x*((2)|($)) 12345 1x345x 1x345 **BUG** +# x*(($)|(2)) 12345 1x345x 1x345 **BUG** +# x{0}^ 12345 x12345 x12345 +# x{0}$ 12345 12345x 12345x +# (x{0}^)|2 12345 x1x345 x1x345 +# (x{0}$)|2 12345 1x345x 1x345 **BUG** +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# +# Here's the test program I used, a few of the cases use ERE {n[,[m]]} +# operators so need '-W posix', (although the same results minus +# those tests came out without POSIX compliance enabled) +# +# [ Invocation was 'gawk -W posix -f tregex.awk' ] +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# tregex.awk +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +BEGIN{ +print _=sprintf("%-20s%-10s%-10s%-10s%-10s\n","regex","input","expected","actual","bug?") +OFS="-" +$(length(_)+1)="" +print $0 + +while(getline <ARGV[1]) # ADR: was testre.dat +{ +RE=$1;IN=$2;OUT=$3 +$0=IN +gsub(RE,"x") +printf "%-20s%-10s%-10s%-10s%-10s\n",RE,IN,OUT,$0,$0==OUT?"":"**BUG**" +} +} +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# This is the test data file used; +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# testre.dat +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# (^) 12345 x12345 +# ($) 12345 12345x +# (^)|($) 12345 x12345x +# ($)|(^) 12345 x12345x +# 2 12345 1x345 +# (^)|2 12345 x1x345 +# 2|(^) 12345 x1x345 +# ($)|2 12345 1x345x +# 2|($) 12345 1x345x +# (2)|(^) 12345 x1x345 +# (^)|(2) 12345 x1x345 +# (2)|($) 12345 1x345x +# ($)|(2) 12345 1x345x +# ((2)|(^)). 12345 xx45 +# ((^)|(2)). 12345 xx45 +# .((2)|($)) 12345 x34x +# .(($)|(2)) 12345 x34x +# (^)|6 12345 x12345 +# 6|(^) 12345 x12345 +# ($)|6 12345 12345x +# 6|($) 12345 12345x +# 2|6|(^) 12345 x1x345 +# 2|(^)|6 12345 x1x345 +# 6|2|(^) 12345 x1x345 +# 6|(^)|2 12345 x1x345 +# (^)|6|2 12345 x1x345 +# (^)|2|6 12345 x1x345 +# 2|6|($) 12345 1x345x +# 2|($)|6 12345 1x345x +# 6|2|($) 12345 1x345x +# 6|($)|2 12345 1x345x +# ($)|6|2 12345 1x345x +# ($)|2|6 12345 1x345x +# 2|4|(^) 12345 x1x3x5 +# 2|(^)|4 12345 x1x3x5 +# 4|2|(^) 12345 x1x3x5 +# 4|(^)|2 12345 x1x3x5 +# (^)|4|2 12345 x1x3x5 +# (^)|2|4 12345 x1x3x5 +# 2|4|($) 12345 1x3x5x +# 2|($)|4 12345 1x3x5x +# 4|2|($) 12345 1x3x5x +# 4|($)|2 12345 1x3x5x +# ($)|4|2 12345 1x3x5x +# ($)|2|4 12345 1x3x5x +# x{0}((2)|(^)) 12345 x1x345 +# x{0}((^)|(2)) 12345 x1x345 +# x{0}((2)|($)) 12345 1x345x +# x{0}(($)|(2)) 12345 1x345x +# x*((2)|(^)) 12345 x1x345 +# x*((^)|(2)) 12345 x1x345 +# x*((2)|($)) 12345 1x345x +# x*(($)|(2)) 12345 1x345x +# x{0}^ 12345 x12345 +# x{0}$ 12345 12345x +# (x{0}^)|2 12345 x1x345 +# (x{0}$)|2 12345 1x345x +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# I've attached a full copy of this e-mail in ZIP format +# in case of e-mail transport errors corrupting the data. +# +# I've posted the same bug report to gnu.utils.bug and +# it's being discussed in this thread on comp.lang.awk; +# +# From: laura@madonnaweb.com (laura fairhead) +# Newsgroups: comp.lang.awk +# Subject: bug in gawk3.1.0 regex code +# Date: Wed, 08 May 2002 23:31:40 GMT +# Message-ID: <3cd9b0f7.29675926@NEWS.CIS.DFN.DE> +# +# +# byefrom +# +# Laura Fairhead +# +# +# +# +# -------------------- +# talk21 your FREE portable and private address on the net at http://www.talk21.com +# ----GgOuLpDpIyE--1020998322088-- +# Content-Type: : application/zip;; Name="COPY.ZIP" +# Content-Transfer-Encoding: base64 +# Content-Disposition: attachment; filename="COPY.ZIP" +# +# UEsDBBQAAAAIALoaqiyj8d/bjwMAAKsaAAADAAAARklMrVjfa+JAEH4P5H8ISwrRU9EYfbheKBR6 +# xRcLvevbYbFtzsqJlBrpQr3722+zMWZ31pk1MaG0Q/m+nR87O9kvruM6/5p4XOc9WSTc05/l +# +m2bSivhb8lzmrx43vw53c5X2f+etourHOc63XMe1wlmLQ8+g3AYjaTFD2ZplY9g+xRbWly3 +# NPastYMrQN9cs4DvHYz+dHbomY8SOTctGDlcQfXND1Uz6cK3EXcVdpY37ltSuB55u339cNtu +# F76NPTudHYR0zS2RZ/sd1maHVLdYI/cp31b2PvFW72jkvIi2tLTI94nXY/eCfeZK8Ap7GO1b +# u7QAO8+8FjsLfFx7OowtfW6dLYRv22wZ031uYYc7M/aK5xvEfjp7vDPnQxW2OZuqndDxWeyw +# dt6y5rXPt5xrqG8bW9a8tm8ZN1q1UyYTXvNT2HjN7VWLLL3GR7pl9nlUkx1Z+5xm2/qcYsu4 +# z2KHtfOWNad6jR92jGN9jvm2sSNbn1vYlj4n2TLus9h4zW1s/tn/e3iHV55MOXumvUarsvVX +# +OknNGfrr/AK7DbMulLkbZh1VTa8uFSLHF5cqlVt5tW9eWRsH2VbVY10rp+TCu9Q6Rxj2/Ju +# SJE2KG5TqW57848/jS15fXM7mX66ztv7cp16j/FGGr8DdtEN+5uL7sD49WvNOkwGIv5KaS3+ +# FsJamLmyFkYmrFnLde6+/4hZl7mOH6yS9SJ9DR5bXwatmLHCrd/PivTxulwlwSJJV8t14n1j +# abIRCfde5mm2iojx/ib2B5eTaeyHl3cPP2N/KNbsx5Op6yw226fg/qbDeIbNc/DoHAR6Mu2I +# dTp+X/zEsTCvGPvK9j0govsrfxqqdJN9cKhMY0vilwdPOebmRwqIy4+x+Tni+Hrc/PKAAnGZ +# 7pXH2fyaYK6X4+B9CcPBt/RRt9z8FoDhoOpH/QJ9j+KAkkf9As2O4oA6N/xy6RWo8OMoqLYN +# 1DDipqo+joIqEGtQqDWJRibXK9oO6igMB1Uu2XeKZwwHlSuO0zue6idVGVE4VQPheeiVIc8F +# sV6Bg6oRx+knkup3Kl8VR+Vb5qGru2N14SNTx2E4qNhwnH1/+chUYRROvfvjeejK6khdeLm/ +# +HoFDqolHGfdX17sG5WviqPyLXBQ1WB9D/ULjSvHH9ZXUJOgOKA+UL9AZ1A4dThTftXxTOWh +# qgRs7kI9gF4gwM0fnVfgjo/F19A96T9QSwECFAAUAAAACAC6Gqoso/Hf248DAACrGgAAAwAA +# AAAAAAABACAAAAAAAAAARklMUEsFBgAAAAABAAEAMQAAALADAAAAAA== +# ----GgOuLpDpIyE--1020998322088---- +# +# +# diff --git a/test/gsubtst3.in b/test/gsubtst3.in new file mode 100644 index 00000000..2dcf75af --- /dev/null +++ b/test/gsubtst3.in @@ -0,0 +1,57 @@ +(^) 12345 x12345 +($) 12345 12345x +(^)|($) 12345 x12345x +($)|(^) 12345 x12345x +2 12345 1x345 +(^)|2 12345 x1x345 +2|(^) 12345 x1x345 +($)|2 12345 1x345x +2|($) 12345 1x345x +(2)|(^) 12345 x1x345 +(^)|(2) 12345 x1x345 +(2)|($) 12345 1x345x +($)|(2) 12345 1x345x +((2)|(^)). 12345 xx45 +((^)|(2)). 12345 xx45 +.((2)|($)) 12345 x34x +.(($)|(2)) 12345 x34x +(^)|6 12345 x12345 +6|(^) 12345 x12345 +($)|6 12345 12345x +6|($) 12345 12345x +2|6|(^) 12345 x1x345 +2|(^)|6 12345 x1x345 +6|2|(^) 12345 x1x345 +6|(^)|2 12345 x1x345 +(^)|6|2 12345 x1x345 +(^)|2|6 12345 x1x345 +2|6|($) 12345 1x345x +2|($)|6 12345 1x345x +6|2|($) 12345 1x345x +6|($)|2 12345 1x345x +($)|6|2 12345 1x345x +($)|2|6 12345 1x345x +2|4|(^) 12345 x1x3x5 +2|(^)|4 12345 x1x3x5 +4|2|(^) 12345 x1x3x5 +4|(^)|2 12345 x1x3x5 +(^)|4|2 12345 x1x3x5 +(^)|2|4 12345 x1x3x5 +2|4|($) 12345 1x3x5x +2|($)|4 12345 1x3x5x +4|2|($) 12345 1x3x5x +4|($)|2 12345 1x3x5x +($)|4|2 12345 1x3x5x +($)|2|4 12345 1x3x5x +x{0}((2)|(^)) 12345 x1x345 +x{0}((^)|(2)) 12345 x1x345 +x{0}((2)|($)) 12345 1x345x +x{0}(($)|(2)) 12345 1x345x +x*((2)|(^)) 12345 x1x345 +x*((^)|(2)) 12345 x1x345 +x*((2)|($)) 12345 1x345x +x*(($)|(2)) 12345 1x345x +x{0}^ 12345 x12345 +x{0}$ 12345 12345x +(x{0}^)|2 12345 x1x345 +(x{0}$)|2 12345 1x345x diff --git a/test/gsubtst3.ok b/test/gsubtst3.ok new file mode 100644 index 00000000..190a20ac --- /dev/null +++ b/test/gsubtst3.ok @@ -0,0 +1,60 @@ +regex input expected actual bug? + +------------------------------------------------------------- +(^) 12345 x12345 x12345 +($) 12345 12345x 12345x +(^)|($) 12345 x12345x x12345x +($)|(^) 12345 x12345x x12345x +2 12345 1x345 1x345 +(^)|2 12345 x1x345 x1x345 +2|(^) 12345 x1x345 x1x345 +($)|2 12345 1x345x 1x345x +2|($) 12345 1x345x 1x345x +(2)|(^) 12345 x1x345 x1x345 +(^)|(2) 12345 x1x345 x1x345 +(2)|($) 12345 1x345x 1x345x +($)|(2) 12345 1x345x 1x345x +((2)|(^)). 12345 xx45 xx45 +((^)|(2)). 12345 xx45 xx45 +.((2)|($)) 12345 x34x x34x +.(($)|(2)) 12345 x34x x34x +(^)|6 12345 x12345 x12345 +6|(^) 12345 x12345 x12345 +($)|6 12345 12345x 12345x +6|($) 12345 12345x 12345x +2|6|(^) 12345 x1x345 x1x345 +2|(^)|6 12345 x1x345 x1x345 +6|2|(^) 12345 x1x345 x1x345 +6|(^)|2 12345 x1x345 x1x345 +(^)|6|2 12345 x1x345 x1x345 +(^)|2|6 12345 x1x345 x1x345 +2|6|($) 12345 1x345x 1x345x +2|($)|6 12345 1x345x 1x345x +6|2|($) 12345 1x345x 1x345x +6|($)|2 12345 1x345x 1x345x +($)|6|2 12345 1x345x 1x345x +($)|2|6 12345 1x345x 1x345x +2|4|(^) 12345 x1x3x5 x1x3x5 +2|(^)|4 12345 x1x3x5 x1x3x5 +4|2|(^) 12345 x1x3x5 x1x3x5 +4|(^)|2 12345 x1x3x5 x1x3x5 +(^)|4|2 12345 x1x3x5 x1x3x5 +(^)|2|4 12345 x1x3x5 x1x3x5 +2|4|($) 12345 1x3x5x 1x3x5x +2|($)|4 12345 1x3x5x 1x3x5x +4|2|($) 12345 1x3x5x 1x3x5x +4|($)|2 12345 1x3x5x 1x3x5x +($)|4|2 12345 1x3x5x 1x3x5x +($)|2|4 12345 1x3x5x 1x3x5x +x{0}((2)|(^)) 12345 x1x345 x1x345 +x{0}((^)|(2)) 12345 x1x345 x1x345 +x{0}((2)|($)) 12345 1x345x 1x345x +x{0}(($)|(2)) 12345 1x345x 1x345x +x*((2)|(^)) 12345 x1x345 x1x345 +x*((^)|(2)) 12345 x1x345 x1x345 +x*((2)|($)) 12345 1x345x 1x345x +x*(($)|(2)) 12345 1x345x 1x345x +x{0}^ 12345 x12345 x12345 +x{0}$ 12345 12345x 12345x +(x{0}^)|2 12345 x1x345 x1x345 +(x{0}$)|2 12345 1x345x 1x345x diff --git a/test/gsubtst4.awk b/test/gsubtst4.awk new file mode 100644 index 00000000..48b8413e --- /dev/null +++ b/test/gsubtst4.awk @@ -0,0 +1,242 @@ +# From arnold Thu May 9 17:27:03 2002 +# Return-Path: <arnold@skeeve.com> +# Received: (from arnold@localhost) +# by skeeve.com (8.11.6/8.11.6) id g49ER3K27925 +# for arnold; Thu, 9 May 2002 17:27:03 +0300 +# Date: Thu, 9 May 2002 17:27:03 +0300 +# From: Aharon Robbins <arnold@skeeve.com> +# Message-Id: <200205091427.g49ER3K27925@skeeve.com> +# To: arnold@skeeve.com +# Subject: fixme +# X-SpamBouncer: 1.4 (10/07/01) +# X-SBRule: Pattern Match (Other Patterns) (Score: 4850) +# X-SBRule: Pattern Match (Spam Phone #) (Score: 0) +# X-SBClass: Blocked +# Status: RO +# +# Path: ord-read.news.verio.net!dfw-artgen!iad-peer.news.verio.net!news.verio.net!fu-berlin.de!uni-berlin.de!host213-120-137-48.in-addr.btopenworld.COM!not-for-mail +# From: laura@madonnaweb.com (laura fairhead) +# Newsgroups: comp.lang.awk +# Subject: bug in gawk3.1.0 regex code +# Date: Wed, 08 May 2002 23:31:40 GMT +# Organization: that'll be the daewooo :) +# Lines: 211 +# Message-ID: <3cd9b0f7.29675926@NEWS.CIS.DFN.DE> +# Reply-To: laura@madonnaweb.com +# NNTP-Posting-Host: host213-120-137-48.in-addr.btopenworld.com (213.120.137.48) +# X-Trace: fu-berlin.de 1020900891 18168286 213.120.137.48 (16 [53286]) +# X-Newsreader: Forte Free Agent 1.21/32.243 +# Xref: dfw-artgen comp.lang.awk:13059 +# +# +# I believe I've just found a bug in gawk3.1.0 implementation of +# extended regular expressions. It seems to be down to the alternation +# operator; when using an end anchor '$' as a subexpression in an +# alternation and the entire matched RE is a nul-string it fails +# to match the end of string, for example; +# +# gsub(/$|2/,"x") +# print +# +# input = 12345 +# expected output = 1x345x +# actual output = 1x345 +# +# The start anchor '^' always works as expected; +# +# gsub(/^|2/,"x") +# print +# +# input = 12345 +# expected output = x1x345 +# actual output = x1x345 +# +# This was with POSIX compliance enabled althought that doesn't +# effect the result. +# +# I checked on gawk3.0.6 and got exactly the same results however +# gawk2.15.6 gives the expected results. +# +# I'm about to post a bug report about this into gnu.utils.bug +# but I thought I'd post it here first in case anyone has +# any input/comments/whatever .... +# +# Complete test results were as follows; +# +# input 12345 +# output gsub(/regex/,"x",input) +# +# regex output +# (^) x12345 +# ($) 12345x +# (^)|($) x12345x +# ($)|(^) x12345x +# (2) 1x345 +# (^)|2 x1x345 +# 2|(^) x1x345 +# ($)|2 1x345 +# 2|($) 1x345 +# (2)|(^) x1x345 +# (^)|(2) x1x345 +# (2)|($) 1x345 +# ($)|(2) 1x345 +# .((2)|(^)) x345 +# .((^)|(2)) x345 +# .((2)|($)) x34x +# .(($)|(2)) x34x +# x{0}((2)|(^)) x1x345 +# x{0}((^)|(2)) x1x345 +# x{0}((2)|($)) 1x345 +# x{0}(($)|(2)) 1x345 +# x*((2)|(^)) x1x345 +# x*((^)|(2)) x1x345 +# x*((2)|($)) 1x345 +# x*(($)|(2)) 1x345 +# +# Here's the test program I used, a few of the cases use ERE {n[,[m]]} +# operators so that will have to be commented out or have a check +# added or something (should have put a conditional in I know... ;-) +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +BEGIN{ + +TESTSTR="12345" + +print "input "TESTSTR +print "output gsub(/regex/,\"x\",input)" +print "" + +print "regex output" +$0=TESTSTR +gsub(/(^)/,"x") +print "(^) "$0 + +$0=TESTSTR +gsub(/($)/,"x") +print "($) "$0 + +$0=TESTSTR +gsub(/(^)|($)/,"x") +print "(^)|($) "$0 + +$0=TESTSTR +gsub(/($)|(^)/,"x") +print "($)|(^) "$0 + +$0=TESTSTR +gsub(/2/,"x") +print "(2) "$0 + +$0=TESTSTR +gsub(/(^)|2/,"x") +print "(^)|2 "$0 + +$0=TESTSTR +gsub(/2|(^)/,"x") +print "2|(^) "$0 + +$0=TESTSTR +gsub(/($)|2/,"x") +print "($)|2 "$0 + +$0=TESTSTR +gsub(/2|($)/,"x") +print "2|($) "$0 + +$0=TESTSTR +gsub(/(2)|(^)/,"x") +print "(2)|(^) "$0 + +$0=TESTSTR +gsub(/(^)|(2)/,"x") +print "(^)|(2) "$0 + +$0=TESTSTR +gsub(/(2)|($)/,"x") +print "(2)|($) "$0 + +$0=TESTSTR +gsub(/($)|(2)/,"x") +print "($)|(2) "$0 + +$0=TESTSTR +gsub(/.((2)|(^))/,"x") +print ".((2)|(^)) "$0 + +$0=TESTSTR +gsub(/.((^)|(2))/,"x") +print ".((^)|(2)) "$0 + +$0=TESTSTR +gsub(/.((2)|($))/,"x") +print ".((2)|($)) "$0 + +$0=TESTSTR +gsub(/.(($)|(2))/,"x") +print ".(($)|(2)) "$0 + +$0=TESTSTR +gsub(/x{0}((2)|(^))/,"x") +print "x{0}((2)|(^)) "$0 + +$0=TESTSTR +gsub(/x{0}((^)|(2))/,"x") +print "x{0}((^)|(2)) "$0 + +$0=TESTSTR +gsub(/x{0}((2)|($))/,"x") +print "x{0}((2)|($)) "$0 + +$0=TESTSTR +gsub(/x{0}(($)|(2))/,"x") +print "x{0}(($)|(2)) "$0 + +$0=TESTSTR +gsub(/x*((2)|(^))/,"x") +print "x*((2)|(^)) "$0 + +$0=TESTSTR +gsub(/x*((^)|(2))/,"x") +print "x*((^)|(2)) "$0 + +$0=TESTSTR +gsub(/x*((2)|($))/,"x") +print "x*((2)|($)) "$0 + +$0=TESTSTR +gsub(/x*(($)|(2))/,"x") +print "x*(($)|(2)) "$0 + +$0=TESTSTR +gsub(/x{0}^/,"x") +print "x{0}^ "$0 + +$0=TESTSTR +gsub(/x{0}$/,"x") +print "x{0}$ "$0 + +$0=TESTSTR +gsub(/(x{0}^)|2/,"x") +print "(x{0}^)|2 "$0 + +$0=TESTSTR +gsub(/(x{0}$)|2/,"x") +print "(x{0}$)|2 "$0 + + +} +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# byefrom +# +# -- +# laura fairhead # laura@madonnaweb.com http://lf.8k.com +# # if you are bored crack my sig. +# 1F8B0808CABB793C0000666667002D8E410E83300C04EF91F2877D00CA138A7A +# EAA98F30C494480157B623C4EF1B508FDED1CEFA9152A23DE35D661593C5318E +# 630C313CD701BE92E390563326EE17A3CA818F5266E4C2461547F1F5267659CA +# 8EE2092F76C329ED02CA430C5373CC62FF94BAC6210B36D9F9BC4AB53378D978 +# 80F2978A1A6E5D6F5133B67B6113178DC1059526698AFE5C17A5187E7D930492 +# diff --git a/test/gsubtst4.ok b/test/gsubtst4.ok new file mode 100644 index 00000000..6d0e490a --- /dev/null +++ b/test/gsubtst4.ok @@ -0,0 +1,33 @@ +input 12345 +output gsub(/regex/,"x",input) + +regex output +(^) x12345 +($) 12345x +(^)|($) x12345x +($)|(^) x12345x +(2) 1x345 +(^)|2 x1x345 +2|(^) x1x345 +($)|2 1x345x +2|($) 1x345x +(2)|(^) x1x345 +(^)|(2) x1x345 +(2)|($) 1x345x +($)|(2) 1x345x +.((2)|(^)) x345 +.((^)|(2)) x345 +.((2)|($)) x34x +.(($)|(2)) x34x +x{0}((2)|(^)) 12345 +x{0}((^)|(2)) 12345 +x{0}((2)|($)) 12345 +x{0}(($)|(2)) 12345 +x*((2)|(^)) x1x345 +x*((^)|(2)) x1x345 +x*((2)|($)) 1x345x +x*(($)|(2)) 1x345x +x{0}^ 12345 +x{0}$ 12345 +(x{0}^)|2 1x345 +(x{0}$)|2 1x345 diff --git a/test/icasefs.awk b/test/icasefs.awk new file mode 100644 index 00000000..86481d86 --- /dev/null +++ b/test/icasefs.awk @@ -0,0 +1,43 @@ +BEGIN { + # 1. Should print aCa + IGNORECASE = 1 + FS = "[c]" + IGNORECASE = 0 + $0 = "aCa" + print $1 + + # 2. Should print a + IGNORECASE = 1 + FS = "[c]" + $0 = "aCa" + print $1 + + # 3. Should print a + IGNORECASE = 1 + FS = "C" + IGNORECASE = 0 + $0 = "aCa" + print $1 + + # 4. Should print aCa + IGNORECASE = 1 + FS = "c" + $0 = "aCa" + print $1 + + # 5. Should print aCa + FS = "xy" + IGNORECASE = 0 + FS = "c" + IGNORECASE = 1 + $0 = "aCa" + print $1 + + # 6. Should print aCa + FS = "xy" + IGNORECASE = 0 + FS = "c" + IGNORECASE = 1 + split("aCa",a) + print a[1] +} diff --git a/test/icasefs.ok b/test/icasefs.ok new file mode 100644 index 00000000..658fac78 --- /dev/null +++ b/test/icasefs.ok @@ -0,0 +1,6 @@ +aCa +a +a +aCa +aCa +aCa diff --git a/test/icasers.awk b/test/icasers.awk new file mode 100644 index 00000000..933e3bf7 --- /dev/null +++ b/test/icasers.awk @@ -0,0 +1,2 @@ +BEGIN { RS = "[[:upper:]]+" } +{ print ; IGNORECASE = ! IGNORECASE } diff --git a/test/icasers.in b/test/icasers.in new file mode 100644 index 00000000..b3476994 --- /dev/null +++ b/test/icasers.in @@ -0,0 +1 @@ +1111AAAA2222bbbb
\ No newline at end of file diff --git a/test/icasers.ok b/test/icasers.ok new file mode 100644 index 00000000..4f142ee3 --- /dev/null +++ b/test/icasers.ok @@ -0,0 +1,2 @@ +1111 +2222 diff --git a/test/ignrcase.awk b/test/ignrcase.awk new file mode 100644 index 00000000..61d7a833 --- /dev/null +++ b/test/ignrcase.awk @@ -0,0 +1,2 @@ +BEGIN { IGNORECASE = 1 } +{ sub(/y/, ""); print } diff --git a/test/ignrcase.in b/test/ignrcase.in new file mode 100644 index 00000000..aba8e51e --- /dev/null +++ b/test/ignrcase.in @@ -0,0 +1 @@ +xYz diff --git a/test/inputred.awk b/test/inputred.awk new file mode 100644 index 00000000..6524df62 --- /dev/null +++ b/test/inputred.awk @@ -0,0 +1 @@ +BEGIN { print getline < "file" ".txt" } diff --git a/test/inputred.ok b/test/inputred.ok new file mode 100644 index 00000000..7de4d5d7 --- /dev/null +++ b/test/inputred.ok @@ -0,0 +1 @@ +-1.txt diff --git a/test/longwrds.awk b/test/longwrds.awk index f6a7816d..d496ac79 100644 --- a/test/longwrds.awk +++ b/test/longwrds.awk @@ -14,7 +14,8 @@ END { for (x in used) if (length(x) > 10) { ++num_long_words - print x + print x | "LC_ALL=C sort" } - print num_long_words, "long words" + print(num_long_words, "long words") | "LC_ALL=C sort" + close("LC_ALL=C sort") } diff --git a/test/manpage b/test/longwrds.in index 09c39485..09c39485 100644 --- a/test/manpage +++ b/test/longwrds.in diff --git a/test/manyfiles.ok b/test/manyfiles.ok new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/test/manyfiles.ok @@ -0,0 +1 @@ +1 diff --git a/test/match1.awk b/test/match1.awk new file mode 100644 index 00000000..6d4791be --- /dev/null +++ b/test/match1.awk @@ -0,0 +1,9 @@ +BEGIN { + data = "foooobazbarrrrr" + match(data, /(fo+).+(bar*)/, arr) + for (i = 0; i in arr; i++) { + printf("arr[%d] = \"%s\"\n", i, arr[i]) + printf("arr[%d, \"start\"] = %s, arr[%d, \"length\"] = %s\n", + i, arr[i, "start"], i, arr[i, "length"]) + } +} diff --git a/test/match1.ok b/test/match1.ok new file mode 100644 index 00000000..4490db2a --- /dev/null +++ b/test/match1.ok @@ -0,0 +1,6 @@ +arr[0] = "foooobazbarrrrr" +arr[0, "start"] = 1, arr[0, "length"] = 15 +arr[1] = "foooo" +arr[1, "start"] = 1, arr[1, "length"] = 5 +arr[2] = "barrrrr" +arr[2, "start"] = 9, arr[2, "length"] = 7 diff --git a/test/negexp.awk b/test/negexp.awk new file mode 100644 index 00000000..3b3a3c06 --- /dev/null +++ b/test/negexp.awk @@ -0,0 +1 @@ +BEGIN { a = -2; print 10^a } diff --git a/test/nfldstr.awk b/test/nfldstr.awk new file mode 100644 index 00000000..09b4a2b8 --- /dev/null +++ b/test/nfldstr.awk @@ -0,0 +1,13 @@ +$1 == 0 { + print "bug" +} +{ + $0 = "0" + if (!$0) + print "another bug" + $0 = a = "0" + if (!$0) + print "yet another bug" + if ($1) + print "a buggie" +} diff --git a/test/nfldstr.in b/test/nfldstr.in new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/test/nfldstr.in @@ -0,0 +1 @@ + diff --git a/test/nfneg.awk b/test/nfneg.awk new file mode 100644 index 00000000..6d54ee0c --- /dev/null +++ b/test/nfneg.awk @@ -0,0 +1 @@ +BEGIN { NF -= 2 ; print } diff --git a/test/nfneg.ok b/test/nfneg.ok new file mode 100644 index 00000000..bcdb0376 --- /dev/null +++ b/test/nfneg.ok @@ -0,0 +1,2 @@ +gawk: nfneg.awk:1: fatal: NF set to negative value +EXIT CODE: 2 diff --git a/test/noeffect.awk b/test/noeffect.awk index b375a4c2..b67a5c57 100644 --- a/test/noeffect.awk +++ b/test/noeffect.awk @@ -1,4 +1,5 @@ BEGIN { s == "hello, world"; - print s + s + 1 + ;; } diff --git a/test/noeffect.ok b/test/noeffect.ok index ea2d0965..d2da47a2 100644 --- a/test/noeffect.ok +++ b/test/noeffect.ok @@ -1,4 +1,4 @@ gawk: noeffect.awk:3: warning: statement may have no effect +gawk: noeffect.awk:4: warning: statement may have no effect gawk: noeffect.awk:2: warning: reference to uninitialized variable `s' gawk: noeffect.awk:3: warning: reference to uninitialized variable `s' - diff --git a/test/noloop1.awk b/test/noloop1.awk new file mode 100644 index 00000000..ae461e34 --- /dev/null +++ b/test/noloop1.awk @@ -0,0 +1,70 @@ +# From jhart@avcnet.bates.edu Sun Oct 6 16:05:21 2002 +# Return-Path: <jhart@avcnet.bates.edu> +# Received: from localhost (skeeve [127.0.0.1]) +# by skeeve.com (8.11.6/8.11.6) with ESMTP id g96D5Jf28053 +# for <arnold@localhost>; Sun, 6 Oct 2002 16:05:21 +0300 +# Received: from actcom.co.il [192.114.47.1] +# by localhost with POP3 (fetchmail-5.9.0) +# for arnold@localhost (single-drop); Sun, 06 Oct 2002 16:05:21 +0300 (IDT) +# Received: by actcom.co.il (mbox arobbins) +# (with Cubic Circle's cucipop (v1.31 1998/05/13) Sun Oct 6 16:06:39 2002) +# X-From_: jhart@avcnet.bates.edu Sun Oct 6 15:31:59 2002 +# Received: from lmail.actcom.co.il by actcom.co.il with ESMTP +# (8.11.6/actcom-0.2) id g96CVrS27315 for <arobbins@actcom.co.il>; +# Sun, 6 Oct 2002 15:31:54 +0300 (EET DST) +# (rfc931-sender: mail.actcom.co.il [192.114.47.13]) +# Received: from f7.net (consort.superb.net [209.61.216.22]) +# by lmail.actcom.co.il (8.11.6/8.11.6) with ESMTP id g96CVqY01629 +# for <arobbins@actcom.co.il>; Sun, 6 Oct 2002 15:31:52 +0300 +# Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) +# by f7.net (8.11.6/8.11.6) with ESMTP id g96CVp418974 +# for <arnold@skeeve.com>; Sun, 6 Oct 2002 08:31:51 -0400 +# Received: from monty-python.gnu.org ([199.232.76.173]) +# by fencepost.gnu.org with esmtp (Exim 4.10) +# id 17yAZa-00055o-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:50 -0400 +# Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) +# id 17yAZE-0007eB-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:29 -0400 +# Received: from avcnet.bates.edu ([134.181.128.62]) +# by monty-python.gnu.org with esmtp (Exim 4.10) +# id 17yAZ9-0007X3-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:23 -0400 +# Received: from a5514a.bates.edu (www.bates.edu [134.181.128.62]) +# by avcnet.bates.edu (8.9.3/8.9.3) with ESMTP id IAA05400 +# for <bug-gawk@gnu.org>; Sun, 6 Oct 2002 08:31:20 -0400 +# Date: Sun, 6 Oct 2002 08:36:54 -0400 +# Mime-Version: 1.0 (Apple Message framework v482) +# Content-Type: text/plain; charset=US-ASCII; format=flowed +# Subject: Infinite loop in sub/gsub +# From: jhart@avcnet.bates.edu +# To: bug-gawk@gnu.org +# Content-Transfer-Encoding: 7bit +# Message-Id: <4BC4A4F0-D928-11D6-8E78-00039384A9CC@mail.avcnet.org> +# X-Mailer: Apple Mail (2.482) +# X-Spam-Status: No, hits=0.3 required=5.0 +# tests=NO_REAL_NAME,SPAM_PHRASE_00_01,USER_AGENT_APPLEMAIL +# version=2.41 +# X-Spam-Level: +# X-SpamBouncer: 1.4 (10/07/01) +# X-SBClass: OK +# Status: RO +# +# This command line: +# +# echo "''Italics with an apostrophe'' embedded''"|gawk -f test.awk +# +# where test.awk contains this instruction: +# +/''/ { sub(/''(.?[^']+)*''/, "<em>&</em>"); } +# +# puts gawk 3.11 into an infinite loop. Whereas, this command works: +# +# echo "''Italics with an apostrophe' embedded''"|gawk -f test.awk +# +# +# +# Platform: Mac OS X 10.1.5/Darwin Kernel Version 5.5: Thu May 30 14:51:26 +# PDT 2002; root:xnu/xnu-201.42.3.obj~1/RELEASE_PPC +# +# diff --git a/test/noloop1.in b/test/noloop1.in new file mode 100644 index 00000000..da2c2f24 --- /dev/null +++ b/test/noloop1.in @@ -0,0 +1 @@ +''Italics with an apostrophe'' embedded'' diff --git a/test/noloop1.ok b/test/noloop1.ok new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/test/noloop1.ok diff --git a/test/noloop2.awk b/test/noloop2.awk new file mode 100644 index 00000000..ae461e34 --- /dev/null +++ b/test/noloop2.awk @@ -0,0 +1,70 @@ +# From jhart@avcnet.bates.edu Sun Oct 6 16:05:21 2002 +# Return-Path: <jhart@avcnet.bates.edu> +# Received: from localhost (skeeve [127.0.0.1]) +# by skeeve.com (8.11.6/8.11.6) with ESMTP id g96D5Jf28053 +# for <arnold@localhost>; Sun, 6 Oct 2002 16:05:21 +0300 +# Received: from actcom.co.il [192.114.47.1] +# by localhost with POP3 (fetchmail-5.9.0) +# for arnold@localhost (single-drop); Sun, 06 Oct 2002 16:05:21 +0300 (IDT) +# Received: by actcom.co.il (mbox arobbins) +# (with Cubic Circle's cucipop (v1.31 1998/05/13) Sun Oct 6 16:06:39 2002) +# X-From_: jhart@avcnet.bates.edu Sun Oct 6 15:31:59 2002 +# Received: from lmail.actcom.co.il by actcom.co.il with ESMTP +# (8.11.6/actcom-0.2) id g96CVrS27315 for <arobbins@actcom.co.il>; +# Sun, 6 Oct 2002 15:31:54 +0300 (EET DST) +# (rfc931-sender: mail.actcom.co.il [192.114.47.13]) +# Received: from f7.net (consort.superb.net [209.61.216.22]) +# by lmail.actcom.co.il (8.11.6/8.11.6) with ESMTP id g96CVqY01629 +# for <arobbins@actcom.co.il>; Sun, 6 Oct 2002 15:31:52 +0300 +# Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) +# by f7.net (8.11.6/8.11.6) with ESMTP id g96CVp418974 +# for <arnold@skeeve.com>; Sun, 6 Oct 2002 08:31:51 -0400 +# Received: from monty-python.gnu.org ([199.232.76.173]) +# by fencepost.gnu.org with esmtp (Exim 4.10) +# id 17yAZa-00055o-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:50 -0400 +# Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) +# id 17yAZE-0007eB-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:29 -0400 +# Received: from avcnet.bates.edu ([134.181.128.62]) +# by monty-python.gnu.org with esmtp (Exim 4.10) +# id 17yAZ9-0007X3-00 +# for bug-gawk@gnu.org; Sun, 06 Oct 2002 08:31:23 -0400 +# Received: from a5514a.bates.edu (www.bates.edu [134.181.128.62]) +# by avcnet.bates.edu (8.9.3/8.9.3) with ESMTP id IAA05400 +# for <bug-gawk@gnu.org>; Sun, 6 Oct 2002 08:31:20 -0400 +# Date: Sun, 6 Oct 2002 08:36:54 -0400 +# Mime-Version: 1.0 (Apple Message framework v482) +# Content-Type: text/plain; charset=US-ASCII; format=flowed +# Subject: Infinite loop in sub/gsub +# From: jhart@avcnet.bates.edu +# To: bug-gawk@gnu.org +# Content-Transfer-Encoding: 7bit +# Message-Id: <4BC4A4F0-D928-11D6-8E78-00039384A9CC@mail.avcnet.org> +# X-Mailer: Apple Mail (2.482) +# X-Spam-Status: No, hits=0.3 required=5.0 +# tests=NO_REAL_NAME,SPAM_PHRASE_00_01,USER_AGENT_APPLEMAIL +# version=2.41 +# X-Spam-Level: +# X-SpamBouncer: 1.4 (10/07/01) +# X-SBClass: OK +# Status: RO +# +# This command line: +# +# echo "''Italics with an apostrophe'' embedded''"|gawk -f test.awk +# +# where test.awk contains this instruction: +# +/''/ { sub(/''(.?[^']+)*''/, "<em>&</em>"); } +# +# puts gawk 3.11 into an infinite loop. Whereas, this command works: +# +# echo "''Italics with an apostrophe' embedded''"|gawk -f test.awk +# +# +# +# Platform: Mac OS X 10.1.5/Darwin Kernel Version 5.5: Thu May 30 14:51:26 +# PDT 2002; root:xnu/xnu-201.42.3.obj~1/RELEASE_PPC +# +# diff --git a/test/noloop2.in b/test/noloop2.in new file mode 100644 index 00000000..b5cb226a --- /dev/null +++ b/test/noloop2.in @@ -0,0 +1 @@ +''Italics with an apostrophe' embedded'' diff --git a/test/noloop2.ok b/test/noloop2.ok new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/test/noloop2.ok diff --git a/test/noparms.ok b/test/noparms.ok index 4c934c38..504c4e41 100644 --- a/test/noparms.ok +++ b/test/noparms.ok @@ -1,4 +1,5 @@ gawk: noparms.awk:1: function x(a, b, c , ,) {} -gawk: noparms.awk:1: ^ parse error +gawk: noparms.awk:1: ^ syntax error gawk: noparms.awk:1: function x(a, b, c , ,) {} -gawk: noparms.awk:1: ^ parse error +gawk: noparms.awk:1: ^ syntax error +EXIT CODE: 1 diff --git a/test/nulrsend.awk b/test/nulrsend.awk new file mode 100644 index 00000000..ef70b81b --- /dev/null +++ b/test/nulrsend.awk @@ -0,0 +1,112 @@ +# From murata@nips.ac.jp Tue Aug 6 08:02:14 2002 +# Return-Path: <murata@nips.ac.jp> +# Received: from localhost (aahz [127.0.0.1]) +# by skeeve.com (8.11.2/8.11.2) with ESMTP id g7652Ej01784 +# for <arnold@localhost>; Tue, 6 Aug 2002 08:02:14 +0300 +# Received: from actcom.co.il [192.114.47.1] +# by localhost with POP3 (fetchmail-5.7.4) +# for arnold@localhost (single-drop); Mon, 05 Aug 2002 22:02:14 -0700 (PDT) +# Received: by actcom.co.il (mbox arobbins) +# (with Cubic Circle's cucipop (v1.31 1998/05/13) Tue Aug 6 08:13:06 2002) +# X-From_: murata@nips.ac.jp Tue Aug 6 07:26:32 2002 +# Received: from lmail.actcom.co.il by actcom.co.il with ESMTP +# (8.11.6/actcom-0.2) id g764QTu27770 for <arobbins@actcom.co.il>; +# Tue, 6 Aug 2002 07:26:30 +0300 (EET DST) +# (rfc931-sender: mail.actcom.co.il [192.114.47.13]) +# Received: from f7.net (consort.superb.net [209.61.216.22]) +# by lmail.actcom.co.il (8.11.6/8.11.6) with ESMTP id g764QRi04673 +# for <arobbins@actcom.co.il>; Tue, 6 Aug 2002 07:26:28 +0300 +# Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164]) +# by f7.net (8.11.6/8.11.6) with ESMTP id g764QQ920486 +# for <arnold@skeeve.com>; Tue, 6 Aug 2002 00:26:26 -0400 +# Received: from ccms.nips.ac.jp ([133.48.72.2]) +# by fencepost.gnu.org with smtp (Exim 3.35 #1 (Debian)) +# id 17bvvL-00011b-00 +# for <bug-gawk@gnu.org>; Tue, 06 Aug 2002 00:26:23 -0400 +# Received: (from murata@localhost) +# by ccms.nips.ac.jp (8.9.3+3.2W/3.7W) id NAA01026; +# Tue, 6 Aug 2002 13:26:21 +0900 +# Date: Tue, 6 Aug 2002 13:26:21 +0900 +# Message-Id: <200208060426.NAA01026@ccms.nips.ac.jp> +# To: bug-gawk@gnu.org +# Cc: murata@nips.ac.jp +# Subject: Bug Report (gawk) +# From: murata@nips.ac.jp (MURATA Yasuhisa) +# Mime-Version: 1.0 +# Content-Type: text/plain; charset=US-ASCII +# X-Mailer: mnews [version 1.21PL5] 1999-04/04(Sun) +# +# Hello, I report a bug. +# +# +# == PROGRAM (filename: atest.awk) == +BEGIN { + RS="" +} + +NR==1 { + print 1 + RS="\n" + next +} + +NR==2 { + print 2 + RS="" + next +} + +NR==3 { + print 3 + RS="\n" + next +} +# ==== +# +# == DATA (filename: atest.txt) == +# 1111 +# +# 2222 +# +# ==== +# note: last line is "\n". +# +# +# == RUN (gawk) == +# > gawk -f atest.awk atest.txt +# 1 +# 2 +# (no stop!) +# ==== +# +# == RUN (nawk) == +# > nawk -f atest.awk atest.txt +# 1 +# 2 +# 3 +# ==== +# +# == VERSION == +# > gawk --version +# GNU Awk 3.1.1 +# Copyright (C) 1989, 1991-2002 Free Software Foundation. +# +# This program 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 2 of the License, or +# (at your option) any later version. +# +# This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# == +# +# -- +# MURATA Yasuhisa, Technical Staff +# National Institute for Physiological Sciences +# E-mail: murata@nips.ac.jp diff --git a/test/nulrsend.in b/test/nulrsend.in new file mode 100644 index 00000000..af3eba16 --- /dev/null +++ b/test/nulrsend.in @@ -0,0 +1,4 @@ +1111 + +2222 + diff --git a/test/nulrsend.ok b/test/nulrsend.ok new file mode 100644 index 00000000..1191247b --- /dev/null +++ b/test/nulrsend.ok @@ -0,0 +1,2 @@ +1 +2 diff --git a/test/paramdup.ok b/test/paramdup.ok index 0308cc8c..9a9df807 100644 --- a/test/paramdup.ok +++ b/test/paramdup.ok @@ -1,2 +1,3 @@ gawk: paramdup.awk:4: error: function `foo': parameter #4, `b', duplicates parameter #2 gawk: paramdup.awk:4: error: function `foo': parameter #5, `a', duplicates parameter #1 +EXIT CODE: 1 diff --git a/test/parseme.ok b/test/parseme.ok index f08fee66..5e6552a3 100644 --- a/test/parseme.ok +++ b/test/parseme.ok @@ -1,3 +1,4 @@ gawk: parseme.awk:1: BEGIN { toupper(substr*line,1,12)) } -gawk: parseme.awk:1: ^ parse error +gawk: parseme.awk:1: ^ syntax error gawk: parseme.awk:1: fatal: 0 is invalid as number of arguments for toupper +EXIT CODE: 2 diff --git a/test/posix.in b/test/posix.in new file mode 100644 index 00000000..c16777b8 --- /dev/null +++ b/test/posix.in @@ -0,0 +1 @@ +1:2,3 4 diff --git a/test/poundbang.awk b/test/poundbang.awk index d60652e3..a6440fff 100755 --- a/test/poundbang.awk +++ b/test/poundbang.awk @@ -1,3 +1,2 @@ #! /tmp/gawk -f - { ccount += length($0) } -END { printf "average line length is %2.4f\n", ccount/NR} +{ print } diff --git a/test/poundbang.ok b/test/poundbang.ok deleted file mode 100644 index 143e28dd..00000000 --- a/test/poundbang.ok +++ /dev/null @@ -1 +0,0 @@ -average line length is 32.6667 diff --git a/test/prec.awk b/test/prec.awk new file mode 100644 index 00000000..8b377348 --- /dev/null +++ b/test/prec.awk @@ -0,0 +1,7 @@ +# check the precedence of operators: +BEGIN { + $1 = i = 1 + $+i++ + $- -i++ + print +} diff --git a/test/prec.ok b/test/prec.ok new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/test/prec.ok @@ -0,0 +1 @@ +1 diff --git a/test/printf0.awk b/test/printf0.awk new file mode 100644 index 00000000..ac8ad3c2 --- /dev/null +++ b/test/printf0.awk @@ -0,0 +1,5 @@ +BEGIN { + # bwk accepts this silently: + printf + print "X" +} diff --git a/test/printf0.ok b/test/printf0.ok new file mode 100644 index 00000000..62d8fe9f --- /dev/null +++ b/test/printf0.ok @@ -0,0 +1 @@ +X diff --git a/test/prmarscl.ok b/test/prmarscl.ok index 1c8db51e..a0f7ab81 100644 --- a/test/prmarscl.ok +++ b/test/prmarscl.ok @@ -1 +1,2 @@ gawk: prmarscl.awk:3: fatal: attempt to use scalar parameter `a' as an array +EXIT CODE: 2 diff --git a/test/prmreuse.awk b/test/prmreuse.awk index 37e06f59..c1ffa179 100644 --- a/test/prmreuse.awk +++ b/test/prmreuse.awk @@ -1,4 +1,4 @@ -# from Pat Rankin, rankin@eql.caltech.edu +# from Pat Rankin, rankin@eql.caltech.edu, now rankin@pactechdata.com BEGIN { dummy(1); legit(); exit } diff --git a/test/rebuf.awk b/test/rebuf.awk new file mode 100644 index 00000000..69b5f057 --- /dev/null +++ b/test/rebuf.awk @@ -0,0 +1,73 @@ +# From lole@epost.de Wed Sep 4 09:54:19 IDT 2002 +# Article: 14288 of comp.lang.awk +# Path: iad-read.news.verio.net!dfw-artgen!iad-peer.news.verio.net!news.verio.net!news.maxwell.syr.edu!fu-berlin.de!uni-berlin.de!213.70.124.113!not-for-mail +# From: LorenzAtWork <familie.lenhardt@epost.de> +# Newsgroups: comp.lang.awk +# Subject: bug in gawk 3.1.1? +# Date: Wed, 28 Aug 2002 10:34:50 +0200 +# Lines: 45 +# Message-ID: <7g1pmukv07c56ep3qav3uebnipdaohqh2l@4ax.com> +# Reply-To: lole@epost.de +# NNTP-Posting-Host: 213.70.124.113 +# Mime-Version: 1.0 +# Content-Type: text/plain; charset=us-ascii +# Content-Transfer-Encoding: 7bit +# X-Trace: fu-berlin.de 1030523788 53278293 213.70.124.113 (16 [68559]) +# X-Newsreader: Forte Agent 1.91/32.564 +# Xref: dfw-artgen comp.lang.awk:14288 +# +# hello all, +# +# I'm using the following script +# +BEGIN { + RS="ti1\n(dwv,)?" + s = 0 + i = 0 +} +{ + if ($1 != "") + s = $1 + print ++i, s +} +# +# to extract values from a file of the form +# +# ti1 +# dwv,98.22 +# ti1 +# dwv,103.08 +# ti1 +# ti1 +# dwv,196.25 +# ti1 +# dwv,210.62 +# ti1 +# dwv,223.53 +# +# The desired result for this example looks like +# +# 1 0 +# 2 98.22 +# 3 103.08 +# 4 103.08 +# 5 196.25 +# 6 210.62 +# 7 223.53 +# +# The script work fine the most time, but when run on the attached file +# (sorry for the size, but the error would not appear with less data) I +# get some (three with the attached file) lines that look like +# +# 1262 dwv,212.97 +# 1277 dwv,174.33 +# 1279 dwv,151.79 +# +# I can't think of a other reason for this than a bug in gawk! +# +# I'm running gawk 3.1.1 on winnt 4.0 +# +# best regards +# Lorenz +# +# diff --git a/test/rebuf.in b/test/rebuf.in new file mode 100644 index 00000000..46d22107 --- /dev/null +++ b/test/rebuf.in @@ -0,0 +1,2350 @@ +ti1 +dwv,214.59 +ti1 +dwv,230.31 +ti1 +dwv,242.64 +ti1 +dwv,253.94 +ti1 +dwv,264.33 +ti1 +dwv,270.94 +ti1 +dwv,273.52 +ti1 +dwv,270.08 +ti1 +dwv,263.19 +ti1 +dwv,254.45 +ti1 +dwv,244.91 +ti1 +dwv,234.55 +ti1 +dwv,222.49 +ti1 +dwv,209.94 +ti1 +dwv,197.17 +ti1 +dwv,182.89 +ti1 +dwv,169.76 +ti1 +dwv,158.59 +ti1 +dwv,145.37 +ti1 +dwv,135.46 +ti1 +dwv,124.77 +ti1 +dwv,115.98 +ti1 +dwv,108.77 +ti1 +dwv,101.12 +ti1 +dwv,94.45 +ti1 +dwv,89.08 +ti1 +dwv,84.63 +ti1 +dwv,81.05 +ti1 +dwv,78.93 +ti1 +dwv,76.65 +ti1 +dwv,75.59 +ti1 +ti1 +ti1 +dwv,77.47 +ti1 +dwv,80.17 +ti1 +dwv,83.90 +ti1 +dwv,88.56 +ti1 +dwv,95.69 +ti1 +dwv,97.48 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,203.08 +ti1 +dwv,218.22 +ti1 +dwv,229.37 +ti1 +dwv,238.49 +ti1 +dwv,247.43 +ti1 +dwv,255.22 +ti1 +dwv,261.31 +ti1 +dwv,262.36 +ti1 +dwv,260.66 +ti1 +dwv,256.33 +ti1 +dwv,249.34 +ti1 +dwv,240.03 +ti1 +dwv,228.55 +ti1 +dwv,215.42 +ti1 +dwv,203.37 +ti1 +dwv,190.01 +ti1 +dwv,177.81 +ti1 +dwv,165.44 +ti1 +dwv,152.92 +ti1 +dwv,142.03 +ti1 +dwv,132.91 +ti1 +dwv,124.48 +ti1 +dwv,116.45 +ti1 +dwv,109.06 +ti1 +dwv,103.27 +ti1 +dwv,98.87 +ti1 +dwv,94.95 +ti1 +dwv,92.56 +ti1 +dwv,90.47 +ti1 +dwv,89.48 +ti1 +ti1 +dwv,90.53 +ti1 +dwv,93.07 +ti1 +dwv,97.12 +ti1 +dwv,101.82 +ti1 +dwv,108.18 +ti1 +dwv,109.73 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,202.97 +ti1 +dwv,217.38 +ti1 +dwv,231.73 +ti1 +dwv,243.11 +ti1 +dwv,255.37 +ti1 +dwv,264.12 +ti1 +dwv,269.64 +ti1 +dwv,270.98 +ti1 +dwv,269.65 +ti1 +dwv,264.55 +ti1 +dwv,257.16 +ti1 +dwv,246.01 +ti1 +dwv,232.88 +ti1 +dwv,219.85 +ti1 +dwv,208.79 +ti1 +dwv,197.00 +ti1 +dwv,183.93 +ti1 +dwv,172.00 +ti1 +dwv,160.55 +ti1 +dwv,150.59 +ti1 +dwv,141.47 +ti1 +dwv,133.02 +ti1 +dwv,126.21 +ti1 +dwv,120.64 +ti1 +dwv,115.79 +ti1 +dwv,111.62 +ti1 +dwv,108.41 +ti1 +dwv,106.41 +ti1 +ti1 +ti1 +dwv,109.08 +ti1 +dwv,113.23 +ti1 +dwv,118.57 +ti1 +dwv,122.57 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,208.07 +ti1 +dwv,224.14 +ti1 +dwv,236.28 +ti1 +dwv,248.12 +ti1 +dwv,258.97 +ti1 +dwv,267.74 +ti1 +dwv,272.47 +ti1 +dwv,271.52 +ti1 +dwv,266.80 +ti1 +dwv,258.61 +ti1 +dwv,249.30 +ti1 +dwv,239.19 +ti1 +dwv,228.28 +ti1 +dwv,215.79 +ti1 +dwv,203.86 +ti1 +dwv,190.08 +ti1 +dwv,177.40 +ti1 +dwv,163.81 +ti1 +dwv,152.60 +ti1 +dwv,141.33 +ti1 +dwv,130.98 +ti1 +dwv,121.98 +ti1 +dwv,114.08 +ti1 +dwv,106.61 +ti1 +dwv,99.75 +ti1 +dwv,93.10 +ti1 +dwv,86.57 +ti1 +dwv,80.62 +ti1 +dwv,76.05 +ti1 +dwv,71.52 +ti1 +dwv,68.85 +ti1 +dwv,67.46 +ti1 +dwv,66.86 +ti1 +dwv,67.51 +ti1 +dwv,69.75 +ti1 +dwv,72.85 +ti1 +dwv,76.23 +ti1 +dwv,82.85 +ti1 +dwv,89.33 +ti1 +dwv,93.39 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,188.37 +ti1 +dwv,204.42 +ti1 +dwv,217.16 +ti1 +dwv,228.89 +ti1 +dwv,238.83 +ti1 +dwv,247.70 +ti1 +dwv,253.59 +ti1 +dwv,257.17 +ti1 +ti1 +dwv,254.00 +ti1 +dwv,248.24 +ti1 +dwv,240.14 +ti1 +dwv,229.42 +ti1 +dwv,218.97 +ti1 +dwv,205.09 +ti1 +dwv,192.61 +ti1 +dwv,179.74 +ti1 +dwv,166.76 +ti1 +dwv,155.36 +ti1 +dwv,143.58 +ti1 +dwv,131.40 +ti1 +dwv,121.84 +ti1 +dwv,112.46 +ti1 +dwv,105.41 +ti1 +dwv,97.15 +ti1 +dwv,90.09 +ti1 +dwv,84.79 +ti1 +dwv,80.52 +ti1 +dwv,75.58 +ti1 +dwv,72.59 +ti1 +dwv,69.39 +ti1 +dwv,67.51 +ti1 +dwv,66.42 +ti1 +ti1 +ti1 +dwv,67.82 +ti1 +dwv,69.76 +ti1 +dwv,73.19 +ti1 +dwv,77.35 +ti1 +dwv,82.36 +ti1 +dwv,87.82 +ti1 +dwv,93.30 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,190.58 +ti1 +dwv,203.43 +ti1 +dwv,216.48 +ti1 +dwv,228.89 +ti1 +dwv,241.91 +ti1 +dwv,251.60 +ti1 +dwv,257.78 +ti1 +dwv,262.18 +ti1 +dwv,263.13 +ti1 +dwv,260.91 +ti1 +dwv,255.34 +ti1 +dwv,247.17 +ti1 +dwv,236.85 +ti1 +dwv,225.24 +ti1 +dwv,213.39 +ti1 +dwv,201.46 +ti1 +dwv,187.77 +ti1 +dwv,175.31 +ti1 +dwv,162.95 +ti1 +dwv,152.55 +ti1 +dwv,142.56 +ti1 +dwv,132.94 +ti1 +dwv,125.00 +ti1 +dwv,117.69 +ti1 +dwv,110.96 +ti1 +dwv,105.02 +ti1 +dwv,101.78 +ti1 +dwv,98.48 +ti1 +dwv,97.06 +ti1 +dwv,96.50 +ti1 +ti1 +dwv,98.48 +ti1 +dwv,101.18 +ti1 +dwv,104.56 +ti1 +dwv,109.67 +ti1 +dwv,115.86 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,200.02 +ti1 +dwv,217.51 +ti1 +dwv,233.21 +ti1 +dwv,245.72 +ti1 +dwv,258.21 +ti1 +dwv,267.24 +ti1 +dwv,273.79 +ti1 +dwv,273.20 +ti1 +dwv,270.38 +ti1 +dwv,260.76 +ti1 +dwv,250.05 +ti1 +dwv,241.32 +ti1 +dwv,231.14 +ti1 +dwv,219.83 +ti1 +dwv,206.13 +ti1 +dwv,193.24 +ti1 +dwv,180.73 +ti1 +dwv,167.82 +ti1 +dwv,156.94 +ti1 +dwv,144.13 +ti1 +dwv,134.40 +ti1 +dwv,125.23 +ti1 +dwv,116.13 +ti1 +dwv,107.34 +ti1 +dwv,99.71 +ti1 +dwv,94.11 +ti1 +dwv,88.91 +ti1 +dwv,84.51 +ti1 +dwv,81.50 +ti1 +dwv,78.66 +ti1 +dwv,76.57 +ti1 +dwv,75.82 +ti1 +ti1 +dwv,76.88 +ti1 +dwv,79.03 +ti1 +dwv,82.12 +ti1 +dwv,85.73 +ti1 +dwv,91.05 +ti1 +dwv,96.31 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,184.18 +ti1 +dwv,201.10 +ti1 +dwv,214.21 +ti1 +dwv,226.18 +ti1 +dwv,237.72 +ti1 +dwv,247.57 +ti1 +dwv,254.36 +ti1 +dwv,258.34 +ti1 +dwv,259.80 +ti1 +dwv,257.76 +ti1 +dwv,253.17 +ti1 +dwv,246.51 +ti1 +dwv,237.92 +ti1 +dwv,227.09 +ti1 +dwv,214.13 +ti1 +dwv,202.20 +ti1 +dwv,189.21 +ti1 +dwv,177.65 +ti1 +dwv,166.18 +ti1 +dwv,154.03 +ti1 +dwv,142.21 +ti1 +dwv,131.51 +ti1 +dwv,121.28 +ti1 +dwv,111.80 +ti1 +dwv,104.47 +ti1 +dwv,98.80 +ti1 +dwv,94.76 +ti1 +dwv,91.81 +ti1 +dwv,89.17 +ti1 +dwv,88.00 +ti1 +ti1 +ti1 +dwv,89.20 +ti1 +dwv,91.17 +ti1 +dwv,94.35 +ti1 +dwv,99.00 +ti1 +dwv,105.43 +ti1 +dwv,109.34 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,194.84 +ti1 +dwv,212.05 +ti1 +dwv,226.30 +ti1 +dwv,239.03 +ti1 +dwv,250.94 +ti1 +dwv,259.73 +ti1 +dwv,266.64 +ti1 +dwv,269.67 +ti1 +dwv,269.03 +ti1 +dwv,265.03 +ti1 +dwv,258.23 +ti1 +dwv,249.32 +ti1 +dwv,238.03 +ti1 +dwv,226.20 +ti1 +dwv,213.46 +ti1 +dwv,200.53 +ti1 +dwv,187.65 +ti1 +dwv,174.89 +ti1 +dwv,163.22 +ti1 +dwv,152.47 +ti1 +dwv,142.65 +ti1 +dwv,133.97 +ti1 +dwv,126.59 +ti1 +dwv,120.52 +ti1 +dwv,115.57 +ti1 +dwv,111.49 +ti1 +dwv,108.03 +ti1 +dwv,106.01 +ti1 +dwv,105.28 +ti1 +ti1 +dwv,106.91 +ti1 +dwv,109.73 +ti1 +dwv,114.91 +ti1 +dwv,120.66 +ti1 +dwv,123.74 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,211.57 +ti1 +dwv,227.06 +ti1 +dwv,240.57 +ti1 +dwv,252.26 +ti1 +dwv,262.67 +ti1 +dwv,270.66 +ti1 +dwv,273.40 +ti1 +dwv,270.25 +ti1 +dwv,263.76 +ti1 +dwv,256.03 +ti1 +dwv,246.87 +ti1 +dwv,237.10 +ti1 +dwv,225.11 +ti1 +dwv,211.53 +ti1 +dwv,197.77 +ti1 +dwv,185.75 +ti1 +dwv,173.00 +ti1 +dwv,159.31 +ti1 +dwv,147.18 +ti1 +dwv,134.84 +ti1 +dwv,125.07 +ti1 +dwv,115.82 +ti1 +dwv,107.33 +ti1 +dwv,100.07 +ti1 +dwv,93.55 +ti1 +dwv,87.60 +ti1 +dwv,81.75 +ti1 +dwv,77.03 +ti1 +dwv,73.39 +ti1 +dwv,70.97 +ti1 +dwv,67.94 +ti1 +dwv,66.64 +ti1 +dwv,65.80 +ti1 +ti1 +dwv,66.85 +ti1 +dwv,68.78 +ti1 +dwv,71.47 +ti1 +dwv,74.20 +ti1 +dwv,78.68 +ti1 +dwv,85.08 +ti1 +dwv,87.47 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,185.81 +ti1 +dwv,201.66 +ti1 +dwv,215.07 +ti1 +dwv,227.26 +ti1 +dwv,238.00 +ti1 +dwv,247.64 +ti1 +dwv,255.03 +ti1 +dwv,257.12 +ti1 +dwv,256.17 +ti1 +dwv,253.47 +ti1 +dwv,248.93 +ti1 +dwv,241.39 +ti1 +dwv,231.45 +ti1 +dwv,220.49 +ti1 +dwv,208.48 +ti1 +dwv,196.04 +ti1 +dwv,182.73 +ti1 +dwv,169.40 +ti1 +dwv,157.24 +ti1 +dwv,145.56 +ti1 +dwv,133.54 +ti1 +dwv,124.01 +ti1 +dwv,114.55 +ti1 +dwv,105.75 +ti1 +dwv,98.32 +ti1 +dwv,91.91 +ti1 +dwv,86.08 +ti1 +dwv,81.35 +ti1 +dwv,77.78 +ti1 +dwv,73.85 +ti1 +dwv,71.12 +ti1 +dwv,68.53 +ti1 +dwv,67.09 +ti1 +dwv,66.34 +ti1 +ti1 +ti1 +dwv,67.92 +ti1 +dwv,70.08 +ti1 +dwv,73.78 +ti1 +dwv,78.68 +ti1 +dwv,84.33 +ti1 +dwv,90.25 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,183.19 +ti1 +dwv,198.96 +ti1 +dwv,213.55 +ti1 +dwv,225.91 +ti1 +dwv,237.33 +ti1 +dwv,246.66 +ti1 +dwv,254.98 +ti1 +dwv,259.46 +ti1 +dwv,261.02 +ti1 +dwv,260.02 +ti1 +dwv,255.96 +ti1 +dwv,249.08 +ti1 +dwv,240.15 +ti1 +dwv,229.51 +ti1 +dwv,217.21 +ti1 +dwv,205.06 +ti1 +dwv,192.62 +ti1 +dwv,177.43 +ti1 +dwv,165.06 +ti1 +dwv,152.36 +ti1 +dwv,142.35 +ti1 +dwv,134.58 +ti1 +dwv,126.20 +ti1 +dwv,119.86 +ti1 +dwv,113.67 +ti1 +dwv,108.20 +ti1 +dwv,104.71 +ti1 +dwv,100.83 +ti1 +dwv,98.96 +ti1 +dwv,98.38 +ti1 +ti1 +dwv,100.29 +ti1 +dwv,103.47 +ti1 +dwv,107.73 +ti1 +dwv,113.04 +ti1 +dwv,118.90 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,200.70 +ti1 +dwv,217.77 +ti1 +dwv,232.45 +ti1 +dwv,244.28 +ti1 +dwv,256.61 +ti1 +dwv,265.93 +ti1 +dwv,272.01 +ti1 +ti1 +dwv,268.67 +ti1 +dwv,260.53 +ti1 +dwv,252.09 +ti1 +dwv,243.72 +ti1 +dwv,232.68 +ti1 +dwv,220.49 +ti1 +dwv,206.88 +ti1 +dwv,193.98 +ti1 +dwv,181.33 +ti1 +dwv,168.61 +ti1 +dwv,156.50 +ti1 +dwv,145.54 +ti1 +dwv,136.43 +ti1 +dwv,125.95 +ti1 +dwv,117.26 +ti1 +dwv,109.81 +ti1 +dwv,103.36 +ti1 +dwv,97.15 +ti1 +dwv,92.86 +ti1 +dwv,89.02 +ti1 +dwv,86.39 +ti1 +dwv,84.44 +ti1 +dwv,83.72 +ti1 +ti1 +dwv,85.89 +ti1 +dwv,88.39 +ti1 +dwv,92.31 +ti1 +dwv,96.00 +ti1 +dwv,100.24 +ti1 +dwv,102.55 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,197.15 +ti1 +dwv,212.33 +ti1 +dwv,225.48 +ti1 +dwv,236.75 +ti1 +dwv,247.52 +ti1 +dwv,255.21 +ti1 +dwv,260.74 +ti1 +dwv,262.81 +ti1 +dwv,262.09 +ti1 +dwv,258.08 +ti1 +dwv,250.83 +ti1 +dwv,242.39 +ti1 +dwv,230.86 +ti1 +dwv,219.62 +ti1 +dwv,206.80 +ti1 +dwv,193.41 +ti1 +dwv,180.60 +ti1 +dwv,168.20 +ti1 +dwv,157.77 +ti1 +dwv,145.25 +ti1 +dwv,136.23 +ti1 +dwv,126.28 +ti1 +dwv,118.10 +ti1 +dwv,110.74 +ti1 +dwv,105.29 +ti1 +dwv,99.75 +ti1 +dwv,95.61 +ti1 +dwv,92.16 +ti1 +dwv,89.93 +ti1 +dwv,88.45 +ti1 +ti1 +dwv,89.11 +ti1 +dwv,90.87 +ti1 +dwv,94.21 +ti1 +dwv,98.16 +ti1 +dwv,104.24 +ti1 +dwv,108.98 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,195.81 +ti1 +dwv,211.95 +ti1 +dwv,226.36 +ti1 +dwv,240.61 +ti1 +dwv,251.93 +ti1 +dwv,259.13 +ti1 +dwv,265.36 +ti1 +dwv,269.71 +ti1 +dwv,270.27 +ti1 +dwv,266.44 +ti1 +dwv,260.44 +ti1 +dwv,251.94 +ti1 +dwv,240.79 +ti1 +dwv,228.95 +ti1 +dwv,215.90 +ti1 +dwv,203.25 +ti1 +dwv,190.01 +ti1 +dwv,177.92 +ti1 +dwv,165.60 +ti1 +dwv,155.49 +ti1 +dwv,144.32 +ti1 +dwv,136.07 +ti1 +dwv,127.64 +ti1 +dwv,120.28 +ti1 +dwv,114.57 +ti1 +dwv,109.99 +ti1 +dwv,106.36 +ti1 +dwv,104.49 +ti1 +dwv,103.84 +ti1 +ti1 +dwv,105.77 +ti1 +dwv,107.83 +ti1 +dwv,112.41 +ti1 +dwv,117.71 +ti1 +dwv,120.66 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,210.13 +ti1 +dwv,225.03 +ti1 +dwv,238.76 +ti1 +dwv,250.50 +ti1 +dwv,261.18 +ti1 +dwv,269.22 +ti1 +dwv,274.18 +ti1 +dwv,272.28 +ti1 +dwv,266.66 +ti1 +dwv,258.68 +ti1 +dwv,249.88 +ti1 +dwv,239.94 +ti1 +dwv,227.14 +ti1 +dwv,213.22 +ti1 +dwv,197.58 +ti1 +dwv,184.86 +ti1 +dwv,172.52 +ti1 +dwv,160.19 +ti1 +dwv,149.20 +ti1 +dwv,137.49 +ti1 +dwv,127.86 +ti1 +dwv,118.91 +ti1 +dwv,110.49 +ti1 +dwv,102.73 +ti1 +dwv,96.33 +ti1 +dwv,90.95 +ti1 +dwv,86.38 +ti1 +dwv,82.72 +ti1 +dwv,79.65 +ti1 +dwv,77.61 +ti1 +dwv,75.70 +ti1 +dwv,74.49 +ti1 +ti1 +ti1 +dwv,76.48 +ti1 +dwv,79.14 +ti1 +dwv,82.84 +ti1 +dwv,87.86 +ti1 +dwv,92.69 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,181.33 +ti1 +dwv,196.86 +ti1 +dwv,210.98 +ti1 +dwv,223.13 +ti1 +dwv,233.90 +ti1 +dwv,243.19 +ti1 +dwv,250.57 +ti1 +dwv,255.00 +ti1 +dwv,256.36 +ti1 +dwv,255.16 +ti1 +dwv,250.15 +ti1 +dwv,242.80 +ti1 +dwv,233.82 +ti1 +dwv,223.41 +ti1 +dwv,210.81 +ti1 +dwv,199.04 +ti1 +dwv,187.39 +ti1 +dwv,174.14 +ti1 +dwv,162.62 +ti1 +dwv,151.39 +ti1 +dwv,139.59 +ti1 +dwv,128.71 +ti1 +dwv,119.17 +ti1 +dwv,111.02 +ti1 +dwv,103.91 +ti1 +dwv,96.78 +ti1 +dwv,91.56 +ti1 +dwv,87.13 +ti1 +dwv,83.22 +ti1 +dwv,80.50 +ti1 +dwv,76.83 +ti1 +dwv,74.24 +ti1 +dwv,70.80 +ti1 +dwv,69.04 +ti1 +dwv,67.12 +ti1 +dwv,66.51 +ti1 +ti1 +dwv,68.77 +ti1 +dwv,72.19 +ti1 +dwv,77.34 +ti1 +dwv,84.04 +ti1 +dwv,88.55 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,190.51 +ti1 +dwv,207.14 +ti1 +dwv,220.57 +ti1 +dwv,232.51 +ti1 +dwv,243.35 +ti1 +dwv,252.41 +ti1 +dwv,258.62 +ti1 +dwv,262.18 +ti1 +ti1 +dwv,259.10 +ti1 +dwv,253.54 +ti1 +dwv,245.44 +ti1 +dwv,235.55 +ti1 +dwv,223.43 +ti1 +dwv,209.91 +ti1 +dwv,197.52 +ti1 +dwv,185.90 +ti1 +dwv,172.13 +ti1 +dwv,161.09 +ti1 +dwv,150.58 +ti1 +dwv,140.37 +ti1 +dwv,130.27 +ti1 +dwv,122.13 +ti1 +dwv,114.99 +ti1 +dwv,108.76 +ti1 +dwv,104.67 +ti1 +dwv,100.36 +ti1 +dwv,97.61 +ti1 +dwv,95.48 +ti1 +dwv,94.83 +ti1 +dwv,95.45 +ti1 +dwv,97.15 +ti1 +dwv,100.73 +ti1 +dwv,105.10 +ti1 +dwv,111.46 +ti1 +dwv,118.27 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,202.92 +ti1 +dwv,220.25 +ti1 +dwv,233.35 +ti1 +dwv,243.48 +ti1 +dwv,254.85 +ti1 +dwv,265.75 +ti1 +dwv,272.62 +ti1 +ti1 +dwv,269.36 +ti1 +dwv,261.82 +ti1 +dwv,252.85 +ti1 +dwv,244.08 +ti1 +dwv,232.96 +ti1 +dwv,219.59 +ti1 +dwv,207.32 +ti1 +dwv,193.87 +ti1 +dwv,181.77 +ti1 +dwv,168.60 +ti1 +dwv,155.76 +ti1 +dwv,144.03 +ti1 +dwv,134.07 +ti1 +dwv,123.46 +ti1 +dwv,114.47 +ti1 +dwv,107.64 +ti1 +dwv,100.46 +ti1 +dwv,94.53 +ti1 +dwv,89.28 +ti1 +dwv,84.59 +ti1 +dwv,80.96 +ti1 +dwv,78.54 +ti1 +dwv,76.28 +ti1 +dwv,75.51 +ti1 +ti1 +dwv,76.55 +ti1 +dwv,78.55 +ti1 +dwv,81.57 +ti1 +dwv,85.18 +ti1 +dwv,90.61 +ti1 +dwv,96.01 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,184.51 +ti1 +dwv,201.57 +ti1 +dwv,216.33 +ti1 +dwv,228.69 +ti1 +dwv,239.90 +ti1 +dwv,250.41 +ti1 +dwv,257.91 +ti1 +dwv,262.29 +ti1 +dwv,263.41 +ti1 +dwv,261.70 +ti1 +dwv,256.75 +ti1 +dwv,246.82 +ti1 +dwv,236.35 +ti1 +dwv,225.17 +ti1 +dwv,212.90 +ti1 +dwv,201.61 +ti1 +dwv,188.42 +ti1 +dwv,175.92 +ti1 +dwv,163.70 +ti1 +dwv,153.18 +ti1 +dwv,142.89 +ti1 +dwv,132.95 +ti1 +dwv,125.18 +ti1 +dwv,117.61 +ti1 +dwv,110.36 +ti1 +dwv,104.56 +ti1 +dwv,100.13 +ti1 +dwv,96.64 +ti1 +dwv,93.52 +ti1 +dwv,91.91 +ti1 +ti1 +ti1 +dwv,93.84 +ti1 +dwv,97.13 +ti1 +dwv,101.08 +ti1 +dwv,107.19 +ti1 +dwv,111.89 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,195.89 +ti1 +dwv,212.65 +ti1 +dwv,226.60 +ti1 +dwv,239.28 +ti1 +dwv,251.28 +ti1 +dwv,259.92 +ti1 +dwv,266.03 +ti1 +dwv,269.76 +ti1 +ti1 +dwv,265.55 +ti1 +dwv,258.92 +ti1 +dwv,250.42 +ti1 +dwv,240.04 +ti1 +dwv,229.03 +ti1 +dwv,216.69 +ti1 +dwv,204.21 +ti1 +dwv,191.25 +ti1 +dwv,178.40 +ti1 +dwv,168.31 +ti1 +dwv,157.47 +ti1 +dwv,148.62 +ti1 +dwv,139.12 +ti1 +dwv,129.54 +ti1 +dwv,121.65 +ti1 +dwv,114.59 +ti1 +dwv,109.30 +ti1 +dwv,106.39 +ti1 +dwv,104.71 +ti1 +ti1 +dwv,106.41 +ti1 +dwv,109.22 +ti1 +dwv,113.62 +ti1 +dwv,118.31 +ti1 +dwv,124.34 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,205.67 +ti1 +dwv,221.25 +ti1 +dwv,235.02 +ti1 +dwv,247.47 +ti1 +dwv,258.37 +ti1 +dwv,267.42 +ti1 +dwv,272.60 +ti1 +dwv,272.00 +ti1 +dwv,267.91 +ti1 +dwv,260.38 +ti1 +dwv,251.10 +ti1 +dwv,241.32 +ti1 +dwv,230.96 +ti1 +dwv,217.34 +ti1 +dwv,204.99 +ti1 +dwv,191.24 +ti1 +dwv,178.58 +ti1 +dwv,164.79 +ti1 +dwv,153.07 +ti1 +dwv,141.06 +ti1 +dwv,129.86 +ti1 +dwv,119.79 +ti1 +dwv,111.13 +ti1 +dwv,103.53 +ti1 +dwv,96.95 +ti1 +dwv,89.42 +ti1 +dwv,85.22 +ti1 +dwv,80.54 +ti1 +dwv,76.85 +ti1 +dwv,74.41 +ti1 +dwv,72.12 +ti1 +dwv,71.21 +ti1 +ti1 +ti1 +dwv,72.13 +ti1 +dwv,74.22 +ti1 +dwv,76.95 +ti1 +dwv,80.65 +ti1 +dwv,85.36 +ti1 +dwv,90.60 +ti1 +dwv,92.36 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,191.27 +ti1 +dwv,205.03 +ti1 +dwv,218.89 +ti1 +dwv,230.87 +ti1 +dwv,241.63 +ti1 +dwv,249.83 +ti1 +dwv,255.42 +ti1 +dwv,257.98 +ti1 +dwv,257.33 +ti1 +dwv,252.87 +ti1 +dwv,245.90 +ti1 +dwv,237.78 +ti1 +dwv,227.14 +ti1 +dwv,214.67 +ti1 +dwv,202.31 +ti1 +dwv,188.68 +ti1 +dwv,175.96 +ti1 +dwv,163.25 +ti1 +dwv,151.43 +ti1 +dwv,139.79 +ti1 +dwv,130.40 +ti1 +dwv,118.92 +ti1 +dwv,110.88 +ti1 +dwv,101.92 +ti1 +dwv,94.45 +ti1 +dwv,88.13 +ti1 +dwv,83.19 +ti1 +dwv,79.11 +ti1 +dwv,74.60 +ti1 +dwv,71.86 +ti1 +dwv,68.77 +ti1 +dwv,66.57 +ti1 +dwv,65.24 +ti1 +dwv,64.41 +ti1 +ti1 +dwv,64.92 +ti1 +dwv,66.62 +ti1 +dwv,68.93 +ti1 +dwv,72.77 +ti1 +dwv,77.76 +ti1 +dwv,83.41 +ti1 +dwv,89.19 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,182.68 +ti1 +dwv,199.88 +ti1 +dwv,214.62 +ti1 +dwv,227.29 +ti1 +dwv,238.62 +ti1 +dwv,249.01 +ti1 +dwv,256.68 +ti1 +dwv,262.71 +ti1 +dwv,263.44 +ti1 +dwv,259.87 +ti1 +dwv,254.66 +ti1 +dwv,248.11 +ti1 +dwv,240.01 +ti1 +dwv,229.30 +ti1 +dwv,216.52 +ti1 +dwv,205.15 +ti1 +dwv,192.49 +ti1 +dwv,179.70 +ti1 +dwv,167.51 +ti1 +dwv,156.31 +ti1 +dwv,145.97 +ti1 +dwv,135.93 +ti1 +dwv,128.06 +ti1 +dwv,119.45 +ti1 +dwv,113.01 +ti1 +dwv,108.31 +ti1 +dwv,103.79 +ti1 +dwv,100.92 +ti1 +dwv,98.90 +ti1 +dwv,98.28 +ti1 +ti1 +dwv,100.12 +ti1 +dwv,102.38 +ti1 +dwv,106.07 +ti1 +dwv,111.06 +ti1 +dwv,117.00 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,202.42 +ti1 +dwv,217.46 +ti1 +dwv,232.83 +ti1 +dwv,245.05 +ti1 +dwv,256.39 +ti1 +dwv,265.28 +ti1 +dwv,271.80 +ti1 +ti1 +dwv,268.63 +ti1 +dwv,261.21 +ti1 +dwv,253.57 +ti1 +dwv,244.41 +ti1 +dwv,233.79 +ti1 +dwv,220.80 +ti1 +dwv,209.24 +ti1 +dwv,196.54 +ti1 +dwv,183.38 +ti1 +dwv,170.14 +ti1 +dwv,157.79 +ti1 +dwv,144.31 +ti1 +dwv,131.53 +ti1 +dwv,122.20 +ti1 +dwv,113.46 +ti1 +dwv,106.57 +ti1 +dwv,100.93 +ti1 +dwv,96.80 +ti1 +dwv,92.10 +ti1 +dwv,88.77 +ti1 +dwv,86.07 +ti1 +dwv,83.75 +ti1 +dwv,82.40 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,84.82 +ti1 +dwv,88.34 +ti1 +dwv,92.06 +ti1 +dwv,98.22 +ti1 +dwv,103.08 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,196.25 +ti1 +dwv,210.62 +ti1 +dwv,223.53 +ti1 +dwv,235.01 +ti1 +dwv,245.30 +ti1 +dwv,253.56 +ti1 +dwv,259.86 +ti1 +dwv,261.87 +ti1 +ti1 +dwv,257.71 +ti1 +dwv,251.10 +ti1 +dwv,242.25 +ti1 +dwv,232.00 +ti1 +dwv,219.62 +ti1 +dwv,207.54 +ti1 +dwv,194.54 +ti1 +dwv,182.85 +ti1 +dwv,170.49 +ti1 +dwv,158.24 +ti1 +dwv,147.54 +ti1 +dwv,137.40 +ti1 +dwv,129.81 +ti1 +dwv,121.07 +ti1 +dwv,114.39 +ti1 +dwv,109.32 +ti1 +dwv,103.67 +ti1 +dwv,99.51 +ti1 +dwv,96.53 +ti1 +dwv,94.67 +ti1 +dwv,93.79 +ti1 +ti1 +dwv,95.31 +ti1 +dwv,98.43 +ti1 +dwv,102.95 +ti1 +dwv,109.01 +ti1 +dwv,115.86 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,209.63 +ti1 +dwv,224.03 +ti1 +dwv,236.93 +ti1 +dwv,249.17 +ti1 +dwv,259.34 +ti1 +dwv,267.41 +ti1 +dwv,271.07 +ti1 +dwv,270.51 +ti1 +dwv,263.93 +ti1 +dwv,255.80 +ti1 +dwv,246.03 +ti1 +dwv,235.96 +ti1 +dwv,223.79 +ti1 +dwv,209.68 +ti1 +dwv,196.98 +ti1 +dwv,184.70 +ti1 +dwv,171.16 +ti1 +dwv,157.06 +ti1 +dwv,145.05 +ti1 +dwv,133.80 +ti1 +dwv,123.45 +ti1 +dwv,114.06 +ti1 +dwv,106.78 +ti1 +dwv,98.12 +ti1 +dwv,91.19 +ti1 +dwv,84.78 +ti1 +dwv,80.10 +ti1 +dwv,74.95 +ti1 +dwv,71.88 +ti1 +dwv,68.51 +ti1 +dwv,66.13 +ti1 +dwv,64.64 +ti1 +dwv,63.65 +ti1 +dwv,63.06 +ti1 +ti1 +dwv,64.29 +ti1 +dwv,66.41 +ti1 +dwv,68.95 +ti1 +dwv,73.12 +ti1 +dwv,78.00 +ti1 +dwv,83.67 +ti1 +dwv,85.55 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,187.86 +ti1 +dwv,202.65 +ti1 +dwv,216.23 +ti1 +dwv,228.24 +ti1 +dwv,239.81 +ti1 +dwv,248.77 +ti1 +dwv,252.97 +ti1 +dwv,254.72 +ti1 +ti1 +dwv,253.22 +ti1 +dwv,247.80 +ti1 +dwv,239.99 +ti1 +dwv,229.87 +ti1 +dwv,218.26 +ti1 +dwv,205.99 +ti1 +dwv,193.09 +ti1 +dwv,180.59 +ti1 +dwv,167.42 +ti1 +dwv,154.33 +ti1 +dwv,142.32 +ti1 +dwv,131.88 +ti1 +dwv,122.32 +ti1 +dwv,112.84 +ti1 +dwv,104.07 +ti1 +dwv,96.62 +ti1 +dwv,90.02 +ti1 +dwv,84.43 +ti1 +dwv,79.90 +ti1 +dwv,74.59 +ti1 +dwv,71.27 +ti1 +dwv,67.37 +ti1 +dwv,64.97 +ti1 +dwv,62.82 +ti1 +dwv,61.60 +ti1 +ti1 +ti1 +dwv,62.99 +ti1 +dwv,64.80 +ti1 +dwv,68.51 +ti1 +dwv,72.70 +ti1 +dwv,77.97 +ti1 +dwv,84.10 +ti1 +dwv,88.07 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +ti1 +dwv,184.25 +ti1 +dwv,199.56 +ti1 +dwv,212.97 +ti1 +dwv,226.37 +ti1 +dwv,237.23 +ti1 +dwv,247.66 +ti1 +dwv,254.97 +ti1 +dwv,259.77 +ti1 +dwv,261.89 +ti1 +dwv,260.39 +ti1 +dwv,255.67 +ti1 +dwv,248.49 +ti1 +dwv,238.75 +ti1 +dwv,228.34 +ti1 +dwv,215.95 +ti1 +dwv,201.71 +ti1 +dwv,187.12 +ti1 +dwv,174.33 +ti1 +dwv,162.05 +ti1 +dwv,151.79 +ti1 +dwv,142.67 +ti1 +dwv,134.03 +ti1 +dwv,126.03 +ti1 +dwv,118.64 +ti1 +dwv,112.00 +ti1 +dwv,107.16 +ti1 +dwv,103.71 +ti1 +dwv,100.06 +ti1 +dwv,98.59 +ti1 +dwv,97.68 +ti1 +ti1 diff --git a/test/rebuf.ok b/test/rebuf.ok new file mode 100644 index 00000000..f452f553 --- /dev/null +++ b/test/rebuf.ok @@ -0,0 +1,1290 @@ +1 0 +2 214.59 +3 230.31 +4 242.64 +5 253.94 +6 264.33 +7 270.94 +8 273.52 +9 270.08 +10 263.19 +11 254.45 +12 244.91 +13 234.55 +14 222.49 +15 209.94 +16 197.17 +17 182.89 +18 169.76 +19 158.59 +20 145.37 +21 135.46 +22 124.77 +23 115.98 +24 108.77 +25 101.12 +26 94.45 +27 89.08 +28 84.63 +29 81.05 +30 78.93 +31 76.65 +32 75.59 +33 75.59 +34 75.59 +35 77.47 +36 80.17 +37 83.90 +38 88.56 +39 95.69 +40 97.48 +41 97.48 +42 97.48 +43 97.48 +44 97.48 +45 97.48 +46 97.48 +47 97.48 +48 203.08 +49 218.22 +50 229.37 +51 238.49 +52 247.43 +53 255.22 +54 261.31 +55 262.36 +56 260.66 +57 256.33 +58 249.34 +59 240.03 +60 228.55 +61 215.42 +62 203.37 +63 190.01 +64 177.81 +65 165.44 +66 152.92 +67 142.03 +68 132.91 +69 124.48 +70 116.45 +71 109.06 +72 103.27 +73 98.87 +74 94.95 +75 92.56 +76 90.47 +77 89.48 +78 89.48 +79 90.53 +80 93.07 +81 97.12 +82 101.82 +83 108.18 +84 109.73 +85 109.73 +86 109.73 +87 109.73 +88 109.73 +89 109.73 +90 109.73 +91 202.97 +92 217.38 +93 231.73 +94 243.11 +95 255.37 +96 264.12 +97 269.64 +98 270.98 +99 269.65 +100 264.55 +101 257.16 +102 246.01 +103 232.88 +104 219.85 +105 208.79 +106 197.00 +107 183.93 +108 172.00 +109 160.55 +110 150.59 +111 141.47 +112 133.02 +113 126.21 +114 120.64 +115 115.79 +116 111.62 +117 108.41 +118 106.41 +119 106.41 +120 106.41 +121 109.08 +122 113.23 +123 118.57 +124 122.57 +125 122.57 +126 122.57 +127 122.57 +128 122.57 +129 122.57 +130 122.57 +131 208.07 +132 224.14 +133 236.28 +134 248.12 +135 258.97 +136 267.74 +137 272.47 +138 271.52 +139 266.80 +140 258.61 +141 249.30 +142 239.19 +143 228.28 +144 215.79 +145 203.86 +146 190.08 +147 177.40 +148 163.81 +149 152.60 +150 141.33 +151 130.98 +152 121.98 +153 114.08 +154 106.61 +155 99.75 +156 93.10 +157 86.57 +158 80.62 +159 76.05 +160 71.52 +161 68.85 +162 67.46 +163 66.86 +164 67.51 +165 69.75 +166 72.85 +167 76.23 +168 82.85 +169 89.33 +170 93.39 +171 93.39 +172 93.39 +173 93.39 +174 93.39 +175 93.39 +176 93.39 +177 93.39 +178 188.37 +179 204.42 +180 217.16 +181 228.89 +182 238.83 +183 247.70 +184 253.59 +185 257.17 +186 257.17 +187 254.00 +188 248.24 +189 240.14 +190 229.42 +191 218.97 +192 205.09 +193 192.61 +194 179.74 +195 166.76 +196 155.36 +197 143.58 +198 131.40 +199 121.84 +200 112.46 +201 105.41 +202 97.15 +203 90.09 +204 84.79 +205 80.52 +206 75.58 +207 72.59 +208 69.39 +209 67.51 +210 66.42 +211 66.42 +212 66.42 +213 67.82 +214 69.76 +215 73.19 +216 77.35 +217 82.36 +218 87.82 +219 93.30 +220 93.30 +221 93.30 +222 93.30 +223 93.30 +224 93.30 +225 93.30 +226 93.30 +227 190.58 +228 203.43 +229 216.48 +230 228.89 +231 241.91 +232 251.60 +233 257.78 +234 262.18 +235 263.13 +236 260.91 +237 255.34 +238 247.17 +239 236.85 +240 225.24 +241 213.39 +242 201.46 +243 187.77 +244 175.31 +245 162.95 +246 152.55 +247 142.56 +248 132.94 +249 125.00 +250 117.69 +251 110.96 +252 105.02 +253 101.78 +254 98.48 +255 97.06 +256 96.50 +257 96.50 +258 98.48 +259 101.18 +260 104.56 +261 109.67 +262 115.86 +263 115.86 +264 115.86 +265 115.86 +266 115.86 +267 115.86 +268 115.86 +269 200.02 +270 217.51 +271 233.21 +272 245.72 +273 258.21 +274 267.24 +275 273.79 +276 273.20 +277 270.38 +278 260.76 +279 250.05 +280 241.32 +281 231.14 +282 219.83 +283 206.13 +284 193.24 +285 180.73 +286 167.82 +287 156.94 +288 144.13 +289 134.40 +290 125.23 +291 116.13 +292 107.34 +293 99.71 +294 94.11 +295 88.91 +296 84.51 +297 81.50 +298 78.66 +299 76.57 +300 75.82 +301 75.82 +302 76.88 +303 79.03 +304 82.12 +305 85.73 +306 91.05 +307 96.31 +308 96.31 +309 96.31 +310 96.31 +311 96.31 +312 96.31 +313 96.31 +314 96.31 +315 184.18 +316 201.10 +317 214.21 +318 226.18 +319 237.72 +320 247.57 +321 254.36 +322 258.34 +323 259.80 +324 257.76 +325 253.17 +326 246.51 +327 237.92 +328 227.09 +329 214.13 +330 202.20 +331 189.21 +332 177.65 +333 166.18 +334 154.03 +335 142.21 +336 131.51 +337 121.28 +338 111.80 +339 104.47 +340 98.80 +341 94.76 +342 91.81 +343 89.17 +344 88.00 +345 88.00 +346 88.00 +347 89.20 +348 91.17 +349 94.35 +350 99.00 +351 105.43 +352 109.34 +353 109.34 +354 109.34 +355 109.34 +356 109.34 +357 109.34 +358 109.34 +359 194.84 +360 212.05 +361 226.30 +362 239.03 +363 250.94 +364 259.73 +365 266.64 +366 269.67 +367 269.03 +368 265.03 +369 258.23 +370 249.32 +371 238.03 +372 226.20 +373 213.46 +374 200.53 +375 187.65 +376 174.89 +377 163.22 +378 152.47 +379 142.65 +380 133.97 +381 126.59 +382 120.52 +383 115.57 +384 111.49 +385 108.03 +386 106.01 +387 105.28 +388 105.28 +389 106.91 +390 109.73 +391 114.91 +392 120.66 +393 123.74 +394 123.74 +395 123.74 +396 123.74 +397 123.74 +398 123.74 +399 123.74 +400 211.57 +401 227.06 +402 240.57 +403 252.26 +404 262.67 +405 270.66 +406 273.40 +407 270.25 +408 263.76 +409 256.03 +410 246.87 +411 237.10 +412 225.11 +413 211.53 +414 197.77 +415 185.75 +416 173.00 +417 159.31 +418 147.18 +419 134.84 +420 125.07 +421 115.82 +422 107.33 +423 100.07 +424 93.55 +425 87.60 +426 81.75 +427 77.03 +428 73.39 +429 70.97 +430 67.94 +431 66.64 +432 65.80 +433 65.80 +434 66.85 +435 68.78 +436 71.47 +437 74.20 +438 78.68 +439 85.08 +440 87.47 +441 87.47 +442 87.47 +443 87.47 +444 87.47 +445 87.47 +446 87.47 +447 87.47 +448 185.81 +449 201.66 +450 215.07 +451 227.26 +452 238.00 +453 247.64 +454 255.03 +455 257.12 +456 256.17 +457 253.47 +458 248.93 +459 241.39 +460 231.45 +461 220.49 +462 208.48 +463 196.04 +464 182.73 +465 169.40 +466 157.24 +467 145.56 +468 133.54 +469 124.01 +470 114.55 +471 105.75 +472 98.32 +473 91.91 +474 86.08 +475 81.35 +476 77.78 +477 73.85 +478 71.12 +479 68.53 +480 67.09 +481 66.34 +482 66.34 +483 66.34 +484 67.92 +485 70.08 +486 73.78 +487 78.68 +488 84.33 +489 90.25 +490 90.25 +491 90.25 +492 90.25 +493 90.25 +494 90.25 +495 90.25 +496 90.25 +497 183.19 +498 198.96 +499 213.55 +500 225.91 +501 237.33 +502 246.66 +503 254.98 +504 259.46 +505 261.02 +506 260.02 +507 255.96 +508 249.08 +509 240.15 +510 229.51 +511 217.21 +512 205.06 +513 192.62 +514 177.43 +515 165.06 +516 152.36 +517 142.35 +518 134.58 +519 126.20 +520 119.86 +521 113.67 +522 108.20 +523 104.71 +524 100.83 +525 98.96 +526 98.38 +527 98.38 +528 100.29 +529 103.47 +530 107.73 +531 113.04 +532 118.90 +533 118.90 +534 118.90 +535 118.90 +536 118.90 +537 118.90 +538 118.90 +539 200.70 +540 217.77 +541 232.45 +542 244.28 +543 256.61 +544 265.93 +545 272.01 +546 272.01 +547 268.67 +548 260.53 +549 252.09 +550 243.72 +551 232.68 +552 220.49 +553 206.88 +554 193.98 +555 181.33 +556 168.61 +557 156.50 +558 145.54 +559 136.43 +560 125.95 +561 117.26 +562 109.81 +563 103.36 +564 97.15 +565 92.86 +566 89.02 +567 86.39 +568 84.44 +569 83.72 +570 83.72 +571 85.89 +572 88.39 +573 92.31 +574 96.00 +575 100.24 +576 102.55 +577 102.55 +578 102.55 +579 102.55 +580 102.55 +581 102.55 +582 102.55 +583 102.55 +584 197.15 +585 212.33 +586 225.48 +587 236.75 +588 247.52 +589 255.21 +590 260.74 +591 262.81 +592 262.09 +593 258.08 +594 250.83 +595 242.39 +596 230.86 +597 219.62 +598 206.80 +599 193.41 +600 180.60 +601 168.20 +602 157.77 +603 145.25 +604 136.23 +605 126.28 +606 118.10 +607 110.74 +608 105.29 +609 99.75 +610 95.61 +611 92.16 +612 89.93 +613 88.45 +614 88.45 +615 89.11 +616 90.87 +617 94.21 +618 98.16 +619 104.24 +620 108.98 +621 108.98 +622 108.98 +623 108.98 +624 108.98 +625 108.98 +626 108.98 +627 195.81 +628 211.95 +629 226.36 +630 240.61 +631 251.93 +632 259.13 +633 265.36 +634 269.71 +635 270.27 +636 266.44 +637 260.44 +638 251.94 +639 240.79 +640 228.95 +641 215.90 +642 203.25 +643 190.01 +644 177.92 +645 165.60 +646 155.49 +647 144.32 +648 136.07 +649 127.64 +650 120.28 +651 114.57 +652 109.99 +653 106.36 +654 104.49 +655 103.84 +656 103.84 +657 105.77 +658 107.83 +659 112.41 +660 117.71 +661 120.66 +662 120.66 +663 120.66 +664 120.66 +665 120.66 +666 120.66 +667 120.66 +668 210.13 +669 225.03 +670 238.76 +671 250.50 +672 261.18 +673 269.22 +674 274.18 +675 272.28 +676 266.66 +677 258.68 +678 249.88 +679 239.94 +680 227.14 +681 213.22 +682 197.58 +683 184.86 +684 172.52 +685 160.19 +686 149.20 +687 137.49 +688 127.86 +689 118.91 +690 110.49 +691 102.73 +692 96.33 +693 90.95 +694 86.38 +695 82.72 +696 79.65 +697 77.61 +698 75.70 +699 74.49 +700 74.49 +701 74.49 +702 76.48 +703 79.14 +704 82.84 +705 87.86 +706 92.69 +707 92.69 +708 92.69 +709 92.69 +710 92.69 +711 92.69 +712 92.69 +713 92.69 +714 181.33 +715 196.86 +716 210.98 +717 223.13 +718 233.90 +719 243.19 +720 250.57 +721 255.00 +722 256.36 +723 255.16 +724 250.15 +725 242.80 +726 233.82 +727 223.41 +728 210.81 +729 199.04 +730 187.39 +731 174.14 +732 162.62 +733 151.39 +734 139.59 +735 128.71 +736 119.17 +737 111.02 +738 103.91 +739 96.78 +740 91.56 +741 87.13 +742 83.22 +743 80.50 +744 76.83 +745 74.24 +746 70.80 +747 69.04 +748 67.12 +749 66.51 +750 66.51 +751 68.77 +752 72.19 +753 77.34 +754 84.04 +755 88.55 +756 88.55 +757 88.55 +758 88.55 +759 88.55 +760 88.55 +761 88.55 +762 88.55 +763 190.51 +764 207.14 +765 220.57 +766 232.51 +767 243.35 +768 252.41 +769 258.62 +770 262.18 +771 262.18 +772 259.10 +773 253.54 +774 245.44 +775 235.55 +776 223.43 +777 209.91 +778 197.52 +779 185.90 +780 172.13 +781 161.09 +782 150.58 +783 140.37 +784 130.27 +785 122.13 +786 114.99 +787 108.76 +788 104.67 +789 100.36 +790 97.61 +791 95.48 +792 94.83 +793 95.45 +794 97.15 +795 100.73 +796 105.10 +797 111.46 +798 118.27 +799 118.27 +800 118.27 +801 118.27 +802 118.27 +803 118.27 +804 118.27 +805 202.92 +806 220.25 +807 233.35 +808 243.48 +809 254.85 +810 265.75 +811 272.62 +812 272.62 +813 269.36 +814 261.82 +815 252.85 +816 244.08 +817 232.96 +818 219.59 +819 207.32 +820 193.87 +821 181.77 +822 168.60 +823 155.76 +824 144.03 +825 134.07 +826 123.46 +827 114.47 +828 107.64 +829 100.46 +830 94.53 +831 89.28 +832 84.59 +833 80.96 +834 78.54 +835 76.28 +836 75.51 +837 75.51 +838 76.55 +839 78.55 +840 81.57 +841 85.18 +842 90.61 +843 96.01 +844 96.01 +845 96.01 +846 96.01 +847 96.01 +848 96.01 +849 96.01 +850 96.01 +851 184.51 +852 201.57 +853 216.33 +854 228.69 +855 239.90 +856 250.41 +857 257.91 +858 262.29 +859 263.41 +860 261.70 +861 256.75 +862 246.82 +863 236.35 +864 225.17 +865 212.90 +866 201.61 +867 188.42 +868 175.92 +869 163.70 +870 153.18 +871 142.89 +872 132.95 +873 125.18 +874 117.61 +875 110.36 +876 104.56 +877 100.13 +878 96.64 +879 93.52 +880 91.91 +881 91.91 +882 91.91 +883 93.84 +884 97.13 +885 101.08 +886 107.19 +887 111.89 +888 111.89 +889 111.89 +890 111.89 +891 111.89 +892 111.89 +893 111.89 +894 195.89 +895 212.65 +896 226.60 +897 239.28 +898 251.28 +899 259.92 +900 266.03 +901 269.76 +902 269.76 +903 265.55 +904 258.92 +905 250.42 +906 240.04 +907 229.03 +908 216.69 +909 204.21 +910 191.25 +911 178.40 +912 168.31 +913 157.47 +914 148.62 +915 139.12 +916 129.54 +917 121.65 +918 114.59 +919 109.30 +920 106.39 +921 104.71 +922 104.71 +923 106.41 +924 109.22 +925 113.62 +926 118.31 +927 124.34 +928 124.34 +929 124.34 +930 124.34 +931 124.34 +932 124.34 +933 124.34 +934 205.67 +935 221.25 +936 235.02 +937 247.47 +938 258.37 +939 267.42 +940 272.60 +941 272.00 +942 267.91 +943 260.38 +944 251.10 +945 241.32 +946 230.96 +947 217.34 +948 204.99 +949 191.24 +950 178.58 +951 164.79 +952 153.07 +953 141.06 +954 129.86 +955 119.79 +956 111.13 +957 103.53 +958 96.95 +959 89.42 +960 85.22 +961 80.54 +962 76.85 +963 74.41 +964 72.12 +965 71.21 +966 71.21 +967 71.21 +968 72.13 +969 74.22 +970 76.95 +971 80.65 +972 85.36 +973 90.60 +974 92.36 +975 92.36 +976 92.36 +977 92.36 +978 92.36 +979 92.36 +980 92.36 +981 92.36 +982 191.27 +983 205.03 +984 218.89 +985 230.87 +986 241.63 +987 249.83 +988 255.42 +989 257.98 +990 257.33 +991 252.87 +992 245.90 +993 237.78 +994 227.14 +995 214.67 +996 202.31 +997 188.68 +998 175.96 +999 163.25 +1000 151.43 +1001 139.79 +1002 130.40 +1003 118.92 +1004 110.88 +1005 101.92 +1006 94.45 +1007 88.13 +1008 83.19 +1009 79.11 +1010 74.60 +1011 71.86 +1012 68.77 +1013 66.57 +1014 65.24 +1015 64.41 +1016 64.41 +1017 64.92 +1018 66.62 +1019 68.93 +1020 72.77 +1021 77.76 +1022 83.41 +1023 89.19 +1024 89.19 +1025 89.19 +1026 89.19 +1027 89.19 +1028 89.19 +1029 89.19 +1030 89.19 +1031 182.68 +1032 199.88 +1033 214.62 +1034 227.29 +1035 238.62 +1036 249.01 +1037 256.68 +1038 262.71 +1039 263.44 +1040 259.87 +1041 254.66 +1042 248.11 +1043 240.01 +1044 229.30 +1045 216.52 +1046 205.15 +1047 192.49 +1048 179.70 +1049 167.51 +1050 156.31 +1051 145.97 +1052 135.93 +1053 128.06 +1054 119.45 +1055 113.01 +1056 108.31 +1057 103.79 +1058 100.92 +1059 98.90 +1060 98.28 +1061 98.28 +1062 100.12 +1063 102.38 +1064 106.07 +1065 111.06 +1066 117.00 +1067 117.00 +1068 117.00 +1069 117.00 +1070 117.00 +1071 117.00 +1072 117.00 +1073 202.42 +1074 217.46 +1075 232.83 +1076 245.05 +1077 256.39 +1078 265.28 +1079 271.80 +1080 271.80 +1081 268.63 +1082 261.21 +1083 253.57 +1084 244.41 +1085 233.79 +1086 220.80 +1087 209.24 +1088 196.54 +1089 183.38 +1090 170.14 +1091 157.79 +1092 144.31 +1093 131.53 +1094 122.20 +1095 113.46 +1096 106.57 +1097 100.93 +1098 96.80 +1099 92.10 +1100 88.77 +1101 86.07 +1102 83.75 +1103 82.40 +1104 82.40 +1105 82.40 +1106 82.40 +1107 82.40 +1108 84.82 +1109 88.34 +1110 92.06 +1111 98.22 +1112 103.08 +1113 103.08 +1114 103.08 +1115 103.08 +1116 103.08 +1117 103.08 +1118 196.25 +1119 210.62 +1120 223.53 +1121 235.01 +1122 245.30 +1123 253.56 +1124 259.86 +1125 261.87 +1126 261.87 +1127 257.71 +1128 251.10 +1129 242.25 +1130 232.00 +1131 219.62 +1132 207.54 +1133 194.54 +1134 182.85 +1135 170.49 +1136 158.24 +1137 147.54 +1138 137.40 +1139 129.81 +1140 121.07 +1141 114.39 +1142 109.32 +1143 103.67 +1144 99.51 +1145 96.53 +1146 94.67 +1147 93.79 +1148 93.79 +1149 95.31 +1150 98.43 +1151 102.95 +1152 109.01 +1153 115.86 +1154 115.86 +1155 115.86 +1156 115.86 +1157 115.86 +1158 115.86 +1159 115.86 +1160 115.86 +1161 209.63 +1162 224.03 +1163 236.93 +1164 249.17 +1165 259.34 +1166 267.41 +1167 271.07 +1168 270.51 +1169 263.93 +1170 255.80 +1171 246.03 +1172 235.96 +1173 223.79 +1174 209.68 +1175 196.98 +1176 184.70 +1177 171.16 +1178 157.06 +1179 145.05 +1180 133.80 +1181 123.45 +1182 114.06 +1183 106.78 +1184 98.12 +1185 91.19 +1186 84.78 +1187 80.10 +1188 74.95 +1189 71.88 +1190 68.51 +1191 66.13 +1192 64.64 +1193 63.65 +1194 63.06 +1195 63.06 +1196 64.29 +1197 66.41 +1198 68.95 +1199 73.12 +1200 78.00 +1201 83.67 +1202 85.55 +1203 85.55 +1204 85.55 +1205 85.55 +1206 85.55 +1207 85.55 +1208 85.55 +1209 85.55 +1210 187.86 +1211 202.65 +1212 216.23 +1213 228.24 +1214 239.81 +1215 248.77 +1216 252.97 +1217 254.72 +1218 254.72 +1219 253.22 +1220 247.80 +1221 239.99 +1222 229.87 +1223 218.26 +1224 205.99 +1225 193.09 +1226 180.59 +1227 167.42 +1228 154.33 +1229 142.32 +1230 131.88 +1231 122.32 +1232 112.84 +1233 104.07 +1234 96.62 +1235 90.02 +1236 84.43 +1237 79.90 +1238 74.59 +1239 71.27 +1240 67.37 +1241 64.97 +1242 62.82 +1243 61.60 +1244 61.60 +1245 61.60 +1246 62.99 +1247 64.80 +1248 68.51 +1249 72.70 +1250 77.97 +1251 84.10 +1252 88.07 +1253 88.07 +1254 88.07 +1255 88.07 +1256 88.07 +1257 88.07 +1258 88.07 +1259 88.07 +1260 184.25 +1261 199.56 +1262 212.97 +1263 226.37 +1264 237.23 +1265 247.66 +1266 254.97 +1267 259.77 +1268 261.89 +1269 260.39 +1270 255.67 +1271 248.49 +1272 238.75 +1273 228.34 +1274 215.95 +1275 201.71 +1276 187.12 +1277 174.33 +1278 162.05 +1279 151.79 +1280 142.67 +1281 134.03 +1282 126.03 +1283 118.64 +1284 112.00 +1285 107.16 +1286 103.71 +1287 100.06 +1288 98.59 +1289 97.68 +1290 97.68 diff --git a/test/resplit.awk b/test/resplit.awk new file mode 100644 index 00000000..f75fe397 --- /dev/null +++ b/test/resplit.awk @@ -0,0 +1 @@ +{ FS = ":"; $0 = $0; print $2 } diff --git a/test/resplit.in b/test/resplit.in new file mode 100644 index 00000000..5f06f10b --- /dev/null +++ b/test/resplit.in @@ -0,0 +1 @@ +a:b:c d:e:f diff --git a/test/rs.awk b/test/rs.awk new file mode 100644 index 00000000..d3a3cf04 --- /dev/null +++ b/test/rs.awk @@ -0,0 +1,2 @@ +BEGIN { RS = "" } +{ print $1, $2 } diff --git a/test/rstest1.awk b/test/rstest1.awk new file mode 100644 index 00000000..3eb88366 --- /dev/null +++ b/test/rstest1.awk @@ -0,0 +1,7 @@ +BEGIN { + RS = "" + FS = ":" + s = "a:b\nc:d" + print split(s,a) + print length(a[2]) +} diff --git a/test/rstest1.ok b/test/rstest1.ok new file mode 100644 index 00000000..a5c88062 --- /dev/null +++ b/test/rstest1.ok @@ -0,0 +1,2 @@ +3 +3 diff --git a/test/rstest2.awk b/test/rstest2.awk new file mode 100644 index 00000000..5ed4701d --- /dev/null +++ b/test/rstest2.awk @@ -0,0 +1,6 @@ +BEGIN { + RS = "" + FS = "\\" + $0 = "a\\b" + print $1 +} diff --git a/test/rstest2.ok b/test/rstest2.ok new file mode 100644 index 00000000..78981922 --- /dev/null +++ b/test/rstest2.ok @@ -0,0 +1 @@ +a diff --git a/test/sclforin.ok b/test/sclforin.ok index f41fc77a..948df438 100644 --- a/test/sclforin.ok +++ b/test/sclforin.ok @@ -1 +1,2 @@ gawk: sclforin.awk:1: fatal: attempt to use scalar `j' as array +EXIT CODE: 2 diff --git a/test/sclifin.ok b/test/sclifin.ok index dc746231..5bc93016 100644 --- a/test/sclifin.ok +++ b/test/sclifin.ok @@ -1 +1,2 @@ gawk: sclifin.awk:7: fatal: attempt to use scalar `j' as array +EXIT CODE: 2 diff --git a/test/space.ok b/test/space.ok new file mode 100644 index 00000000..0f769564 --- /dev/null +++ b/test/space.ok @@ -0,0 +1,2 @@ +gawk: fatal: can't open source file ` ' for reading (No such file or directory) +EXIT CODE: 2 diff --git a/test/splitarr.awk b/test/splitarr.awk new file mode 100644 index 00000000..c1185a4d --- /dev/null +++ b/test/splitarr.awk @@ -0,0 +1,5 @@ +BEGIN { + a[1] = "elephantie" + a[2] = "e" + print split(a[1],a,a[2]), a[2], a[3], split(a[2],a,a[2]) +} diff --git a/test/splitarr.ok b/test/splitarr.ok new file mode 100644 index 00000000..9402b94f --- /dev/null +++ b/test/splitarr.ok @@ -0,0 +1 @@ +4 l phanti 2 diff --git a/test/strtod.awk b/test/strtod.awk index 27df8a4f..3326478e 100644 --- a/test/strtod.awk +++ b/test/strtod.awk @@ -1 +1,5 @@ -{ x = "0x" $1 ; print x, x + 0 } +{ + x = "0x" $1 ; print x, x + 0 + for (i=1; i<=NF; i++) + if ($i) print $i, "is not zero" +} diff --git a/test/strtod.in b/test/strtod.in index 51b40081..d7f71aa9 100644 --- a/test/strtod.in +++ b/test/strtod.in @@ -1 +1 @@ -345 +345 0 00 0e0 0E1 00E0 000e-5 .0e+0 diff --git a/test/strtod.ok b/test/strtod.ok index bedd0f23..a47a9b17 100644 --- a/test/strtod.ok +++ b/test/strtod.ok @@ -1 +1,2 @@ 0x345 0 +345 is not zero diff --git a/test/synerr1.awk b/test/synerr1.awk new file mode 100644 index 00000000..131708d2 --- /dev/null +++ b/test/synerr1.awk @@ -0,0 +1,4 @@ +# program to make sure we don't infinite +# syntax errors + +print "hi" diff --git a/test/synerr1.ok b/test/synerr1.ok new file mode 100644 index 00000000..e180f132 --- /dev/null +++ b/test/synerr1.ok @@ -0,0 +1,3 @@ +gawk: synerr1.awk:4: print "hi" +gawk: synerr1.awk:4: ^ syntax error +EXIT CODE: 1 diff --git a/test/uninit2.awk b/test/uninit2.awk new file mode 100644 index 00000000..9ded5575 --- /dev/null +++ b/test/uninit2.awk @@ -0,0 +1,2 @@ +BEGIN { a = a + 1; x = a; print a} +BEGIN { ++b; x = b; print b} diff --git a/test/uninit2.ok b/test/uninit2.ok new file mode 100644 index 00000000..2001a39b --- /dev/null +++ b/test/uninit2.ok @@ -0,0 +1,4 @@ +gawk: uninit2.awk:1: warning: reference to uninitialized variable `a' +1 +gawk: uninit2.awk:2: warning: reference to uninitialized variable `b' +1 diff --git a/test/uninitialized.awk b/test/uninitialized.awk new file mode 100644 index 00000000..09bb643b --- /dev/null +++ b/test/uninitialized.awk @@ -0,0 +1,3 @@ +BEGIN { + a += 2 +} diff --git a/test/uninitialized.ok b/test/uninitialized.ok new file mode 100644 index 00000000..86ab474c --- /dev/null +++ b/test/uninitialized.ok @@ -0,0 +1 @@ +gawk: uninitialized.awk:2: warning: reference to uninitialized variable `a' diff --git a/test/zeroe0.awk b/test/zeroe0.awk new file mode 100644 index 00000000..5dc9c6bc --- /dev/null +++ b/test/zeroe0.awk @@ -0,0 +1,40 @@ +# From sbohdjal@matrox.com Tue Dec 31 11:41:25 2002 +# Return-Path: <sbohdjal@matrox.com> +# X-From_: sbohdjal@matrox.com Mon Dec 30 17:34:41 2002 +# Message-Id: <4.3.1.1.20021230101824.00fc4bd8@mailbox.matrox.com> +# Date: Mon, 30 Dec 2002 10:33:10 -0500 +# To: bug-gawk@gnu.org +# From: Serge Bohdjalian <sbohdjal@matrox.com> +# Subject: GAWK 3.1.1 bug, DJGPP port +# +# When I run the following AWK file... +# +BEGIN { + $0 = "00E0"; + print $0 ", " ($0 && 1) ", " ($0 != ""); + $1 = "00E0"; + print $1 ", " ($1 && 1) ", " ($1 != ""); +} +# +# With the SimTel version of GAWK 3.1.1 for Windows (downloadable from +# ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2gnu/), I get the following +# output... +# +# 00E0, 0, 1 +# 00E0, 1, 1 +# +# With the Cygwin version of GAWK 3.1.1 for Windows, I get... +# +# 00E0, 1, 1 +# 00E0, 1, 1 +# +# As far as I know, if "$0" isn't blank, the value of "($0 && 1)" should be +# "1" (true). I get the same problem if I substitute "00E0" with "00E1" to +# "00E9". Other strings don't have have this problem (for example, "00EA"). +# The problem occurs whether I use file input or whether I manually assign +# "$0" (as above). +# +# The problem is also discussed in a comp.lang.awk posting ("Bug in GAWK +# 3.1.1?", Dec. 27, 2002). +# +# -Serge diff --git a/test/zeroe0.ok b/test/zeroe0.ok new file mode 100644 index 00000000..cdf28fb6 --- /dev/null +++ b/test/zeroe0.ok @@ -0,0 +1,2 @@ +00E0, 1, 1 +00E0, 1, 1 |