From ac950a04867fce7784680ba76d654d910e88a8cd Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Wed, 16 May 2012 20:31:47 +0300 Subject: Minor and hopefully last fix to jarebug test. --- test/ChangeLog | 4 ++++ test/Makefile.am | 2 +- test/Makefile.in | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index 97065a2d..70dacf48 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,7 @@ +2012-05-16 Arnold D. Robbins + + * Makefile.am (jarebug): Remove leading `-' from $(CMP) line. + 2012-05-14 Arnold D. Robbins * Makefile.am (jarebug): Move to charset tests. Adjust to check diff --git a/test/Makefile.am b/test/Makefile.am index 24255b7e..5102d405 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1459,7 +1459,7 @@ jarebug:: @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \ GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \ $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \ - -$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ + $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ fi diff --git a/test/Makefile.in b/test/Makefile.in index 709009e8..4c368127 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1837,7 +1837,7 @@ jarebug:: @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \ GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \ $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \ - -$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ + $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ fi Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program -- cgit v1.2.3 From f8ec28a30e98cad325d18478a3d054b8c30a3129 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 20 May 2012 21:03:52 +0300 Subject: Enhance jarebug for Mac OS X. --- test/ChangeLog | 5 +++++ test/Makefile.am | 7 ++----- test/Makefile.in | 7 ++----- test/jarebug.sh | 21 +++++++++++++++++++++ 4 files changed, 30 insertions(+), 10 deletions(-) create mode 100755 test/jarebug.sh (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index 70dacf48..06d9020f 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-05-20 Arnold D. Robbins + + * jarebug.sh: New file. Handles Mac OS X also. + * Makefile.am (jarebug): Use jarebug.sh to run the test. + 2012-05-16 Arnold D. Robbins * Makefile.am (jarebug): Remove leading `-' from $(CMP) line. diff --git a/test/Makefile.am b/test/Makefile.am index 5102d405..5ff35012 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1456,11 +1456,8 @@ rri1:: jarebug:: @echo $@ - @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \ - GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \ - $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \ - $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ - fi + @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ # Targets generated for other tests: diff --git a/test/Makefile.in b/test/Makefile.in index 4c368127..171428bb 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -1834,11 +1834,8 @@ rri1:: jarebug:: @echo $@ - @if locale -a | grep ja_JP.EUC-JP > /dev/null ; then \ - GAWKLOCALE=ja_JP.EUC-JP ; export GAWKLOCALE ; \ - $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@ ; \ - $(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ ; \ - fi + @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: diff --git a/test/jarebug.sh b/test/jarebug.sh new file mode 100755 index 00000000..dcc73e6c --- /dev/null +++ b/test/jarebug.sh @@ -0,0 +1,21 @@ +#! /bin/sh + +awk=$1 +prog=$2 +infile=$3 +out=$4 + +# GLIBC gives us ja_JP.EUC-JP but Mac OS X uses ja_JP.eucJP + +cp $infile $out # set up default + +for locale in ja_JP.EUC-JP ja_JP.eucJP +do + if locale -a | grep $locale > /dev/null + then + LANG=$locale + LC_ALL=$locale + export LANG LC_ALL + $awk -f $prog $infile >$out 2>&1 || echo EXIT CODE: $? >> $out + fi +done -- cgit v1.2.3 From 09a6e6fecf9691ea9a0ceb2aef26197f821868cd Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 19 Jun 2012 21:24:19 +0300 Subject: Fix bug with --characters-as-bytes. --- test/ChangeLog | 5 +++++ test/Makefile.am | 11 ++++++++++- test/Makefile.in | 12 +++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index 06d9020f..272e7cf2 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-06-19 Arnold D. Robbins + + * Makefile.am (charasbytes): New test. + * charasbytes.awk, charasbytes.in, charasbytes.ok: New files. + 2012-05-20 Arnold D. Robbins * jarebug.sh: New file. Handles Mac OS X also. diff --git a/test/Makefile.am b/test/Makefile.am index 5ff35012..43cc8f9c 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -119,6 +119,9 @@ EXTRA_DIST = \ beginfile2.ok \ beginfile2.sh \ binmode1.ok \ + charasbytes.awk \ + charasbytes.in \ + charasbytes.ok \ childin.awk \ childin.in \ childin.ok \ @@ -831,7 +834,7 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 binmode1 \ + backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ @@ -1459,6 +1462,12 @@ jarebug:: @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +charasbytes: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \ + od -c -t x1 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ # Targets generated for other tests: include Maketests diff --git a/test/Makefile.in b/test/Makefile.in index 171428bb..0e4cc757 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -324,6 +324,9 @@ EXTRA_DIST = \ beginfile2.ok \ beginfile2.sh \ binmode1.ok \ + charasbytes.awk \ + charasbytes.in \ + charasbytes.ok \ childin.awk \ childin.in \ childin.ok \ @@ -1036,7 +1039,7 @@ UNIX_TESTS = \ GAWK_EXT_TESTS = \ aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \ - backw badargs beginfile1 beginfile2 binmode1 \ + backw badargs beginfile1 beginfile2 binmode1 charasbytes \ clos1way delsub devfd devfd1 devfd2 dumpvars exit \ fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \ fwtest fwtest2 fwtest3 \ @@ -1836,6 +1839,13 @@ jarebug:: @echo $@ @$(srcdir)/$@.sh "$(AWKPROG)" "$(srcdir)/$@.awk" "$(srcdir)/$@.in" "_$@" @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + +charasbytes: + @echo $@ + @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \ + AWKPATH=$(srcdir) $(AWK) -b -f $@.awk $(srcdir)/$@.in | \ + od -c -t x1 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ Gt-dummy: # file Maketests, generated from Makefile.am by the Gentests program addcomma: -- cgit v1.2.3 From 91cdc24dc028b758e409ac6e92759b52b2a079d6 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Tue, 19 Jun 2012 21:25:32 +0300 Subject: Add new test files for characters-as-bytes fix. --- test/charasbytes.awk | 1 + test/charasbytes.in | 1 + test/charasbytes.ok | 3 +++ 3 files changed, 5 insertions(+) create mode 100755 test/charasbytes.awk create mode 100644 test/charasbytes.in create mode 100644 test/charasbytes.ok (limited to 'test') diff --git a/test/charasbytes.awk b/test/charasbytes.awk new file mode 100755 index 00000000..feb195c8 --- /dev/null +++ b/test/charasbytes.awk @@ -0,0 +1 @@ +{ print gensub(/\xE2\x80./, "ZZZ", "g", $0) } diff --git a/test/charasbytes.in b/test/charasbytes.in new file mode 100644 index 00000000..4a8d4a1e --- /dev/null +++ b/test/charasbytes.in @@ -0,0 +1 @@ +– diff --git a/test/charasbytes.ok b/test/charasbytes.ok new file mode 100644 index 00000000..a1702e64 --- /dev/null +++ b/test/charasbytes.ok @@ -0,0 +1,3 @@ +0000000 Z Z Z \n + 5a 5a 5a 0a +0000004 -- cgit v1.2.3 From 4fe1f4ac1aa0e4b99c9abb26794fc0d10ebb77c6 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 13 Jul 2012 12:11:04 +0300 Subject: Doc update and new test on getline with side effects. --- test/ChangeLog | 5 +++++ test/Makefile.am | 4 +++- test/Makefile.in | 9 ++++++++- test/Maketests | 5 +++++ test/getline5.awk | 35 +++++++++++++++++++++++++++++++++++ test/getline5.ok | 1 + 6 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 test/getline5.awk create mode 100644 test/getline5.ok (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index 272e7cf2..bb26c185 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-07-13 Arnold D. Robbins + + * Makefile.am (getline5): New test. + * getline5.awk, getline5.ok: New files. + 2012-06-19 Arnold D. Robbins * Makefile.am (charasbytes): New test. diff --git a/test/Makefile.am b/test/Makefile.am index 43cc8f9c..967a20c4 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -298,6 +298,8 @@ EXTRA_DIST = \ getline4.awk \ getline4.in \ getline4.ok \ + getline5.awk \ + getline5.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -804,7 +806,7 @@ BASIC_TESTS = \ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ fstabplus funsemnl funsmnam funstack \ - getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ + getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ hex hsprint \ diff --git a/test/Makefile.in b/test/Makefile.in index 0e4cc757..be567702 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -503,6 +503,8 @@ EXTRA_DIST = \ getline4.awk \ getline4.in \ getline4.ok \ + getline5.awk \ + getline5.ok \ getlnbuf.awk \ getlnbuf.in \ getlnbuf.ok \ @@ -1009,7 +1011,7 @@ BASIC_TESTS = \ fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \ fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \ fstabplus funsemnl funsmnam funstack \ - getline getline2 getline3 getline4 getlnbuf getnr2tb getnr2tm \ + getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \ gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \ gsubtst7 gsubtst8 \ hex hsprint \ @@ -2168,6 +2170,11 @@ getline4: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +getline5: + @echo getline5 + @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: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 34a0aaa6..1b58d5b4 100644 --- a/test/Maketests +++ b/test/Maketests @@ -320,6 +320,11 @@ getline4: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +getline5: + @echo getline5 + @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: $$? >>_$@ diff --git a/test/getline5.awk b/test/getline5.awk new file mode 100644 index 00000000..4757bcfe --- /dev/null +++ b/test/getline5.awk @@ -0,0 +1,35 @@ +# Message-ID: <4F7832BD.9030709@gmx.com> +# Date: Sun, 01 Apr 2012 11:49:33 +0100 +# From: Duncan Moore +# To: "bug-gawk@gnu.org" +# Subject: [bug-gawk] getline difference from gawk versions >=4.0.0 +# +# Hi +# +# b.awk: +# +# BEGIN { +# system("echo 1 > f") +# while ((getline a[++c] < "f") > 0) {} +# print c +# } +# +# gawk -f b.awk +# +# Prior to gawk 4.0.0 this outputs: +# +# 1 +# +# For 4.0.0 and 4.0.1 it outputs: +# +# 2 +# +# Regards +# Duncan Moore + +BEGIN { + system("echo 1 > f") + while ((getline a[++c] < "f") > 0) {} + print c + system("rm -f f") +} diff --git a/test/getline5.ok b/test/getline5.ok new file mode 100644 index 00000000..0cfbf088 --- /dev/null +++ b/test/getline5.ok @@ -0,0 +1 @@ +2 -- cgit v1.2.3 From 9bf467bbe0bf6868919b2a672f70b945f320c7a8 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 5 Aug 2012 12:58:33 +0300 Subject: New test for OFS from Nelson Beebe. --- test/ChangeLog | 7 +++++++ test/Makefile.am | 5 ++++- test/Makefile.in | 10 +++++++++- test/Maketests | 5 +++++ test/ofs1.awk | 23 +++++++++++++++++++++++ test/ofs1.in | 4 ++++ test/ofs1.ok | 7 +++++++ 7 files changed, 59 insertions(+), 2 deletions(-) create mode 100755 test/ofs1.awk create mode 100644 test/ofs1.in create mode 100644 test/ofs1.ok (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index bb26c185..219396cf 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,10 @@ +2012-08-05 Arnold D. Robbins + + New test from Nelson Beebe. + + * Makefile.am (ofs1): New test. + * ofs1.awk, ofs1.in, ofs1.ok: New files. + 2012-07-13 Arnold D. Robbins * Makefile.am (getline5): New test. diff --git a/test/Makefile.am b/test/Makefile.am index 967a20c4..9c96c386 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -522,6 +522,9 @@ EXTRA_DIST = \ ofmts.awk \ ofmts.in \ ofmts.ok \ + ofs1.awk \ + ofs1.in \ + ofs1.ok \ onlynl.awk \ onlynl.in \ onlynl.ok \ @@ -816,7 +819,7 @@ BASIC_TESTS = \ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ noparms nors nulrsend numindex numsubstr \ - octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ diff --git a/test/Makefile.in b/test/Makefile.in index be567702..56c07305 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -727,6 +727,9 @@ EXTRA_DIST = \ ofmts.awk \ ofmts.in \ ofmts.ok \ + ofs1.awk \ + ofs1.in \ + ofs1.ok \ onlynl.awk \ onlynl.in \ onlynl.ok \ @@ -1021,7 +1024,7 @@ BASIC_TESTS = \ nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \ nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \ noparms nors nulrsend numindex numsubstr \ - octsub ofmt ofmta ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf \ + octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ @@ -2410,6 +2413,11 @@ ofmts: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ofs1: + @echo ofs1 + @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: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 1b58d5b4..12d7e35c 100644 --- a/test/Maketests +++ b/test/Maketests @@ -560,6 +560,11 @@ ofmts: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +ofs1: + @echo ofs1 + @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: $$? >>_$@ diff --git a/test/ofs1.awk b/test/ofs1.awk new file mode 100755 index 00000000..83b3c2a5 --- /dev/null +++ b/test/ofs1.awk @@ -0,0 +1,23 @@ +# Translate this shell script into gawk: +# +#! /bin/sh - +# +# awktest() +# { +# echo a:b:c | $AWK -F":" '{$2="x"; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print $1; OFS=FS; print}' +# echo a:b:c | $AWK -F":" '{$2="x"; print; $2=$2; OFS=FS; print}' +# } +# +# AWK=./gawk +# awktest > foo.gawk + +BEGIN { FS = ":" } + +# Have to reset OFS at end since not running separate invocations + +FNR == 1 { $2 = "x"; OFS = FS; print ; OFS = " "} +FNR == 2 { $2 = "x"; print; OFS = FS; print ; OFS = " "} +FNR == 3 { $2 = "x"; print $1; OFS = FS; print ; OFS = " "} +FNR == 4 { $2 = "x"; print; $2 = $2; OFS = FS; print } diff --git a/test/ofs1.in b/test/ofs1.in new file mode 100644 index 00000000..0582b9b1 --- /dev/null +++ b/test/ofs1.in @@ -0,0 +1,4 @@ +a:b:c +a:b:c +a:b:c +a:b:c diff --git a/test/ofs1.ok b/test/ofs1.ok new file mode 100644 index 00000000..a3a8ca7b --- /dev/null +++ b/test/ofs1.ok @@ -0,0 +1,7 @@ +a:x:c +a x c +a x c +a +a:x:c +a x c +a:x:c -- cgit v1.2.3 From 4f196c2431034aa4865fcd4e3bcc45a6e764266f Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 12 Aug 2012 21:02:48 +0300 Subject: Fix doc on ranges and locales again. Add test. --- test/ChangeLog | 5 +++++ test/Makefile.am | 5 ++++- test/Makefile.in | 10 +++++++++- test/Maketests | 5 +++++ test/regexprange.awk | 14 ++++++++++++++ test/regexprange.ok | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 test/regexprange.awk create mode 100644 test/regexprange.ok (limited to 'test') diff --git a/test/ChangeLog b/test/ChangeLog index 219396cf..75eb5ec9 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,8 @@ +2012-08-12 Arnold D. Robbins + + * Makefile.am (regexprange): New test. + * regexprange.awk, regexprange.ok: New files. + 2012-08-05 Arnold D. Robbins New test from Nelson Beebe. diff --git a/test/Makefile.am b/test/Makefile.am index 9c96c386..592cf144 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -615,6 +615,8 @@ EXTRA_DIST = \ regeq.awk \ regeq.in \ regeq.ok \ + regexprange.awk \ + regexprange.ok \ regrange.awk \ regrange.ok \ regtest.sh \ @@ -823,7 +825,8 @@ BASIC_TESTS = \ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + rand range1 rebt8b1 redfilnm regeq regexprange regrange \ + reindops reparse \ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin sortempty splitargv splitarr splitdef \ diff --git a/test/Makefile.in b/test/Makefile.in index 56c07305..d76d7387 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -820,6 +820,8 @@ EXTRA_DIST = \ regeq.awk \ regeq.in \ regeq.ok \ + regexprange.awk \ + regexprange.ok \ regrange.awk \ regrange.ok \ regtest.sh \ @@ -1028,7 +1030,8 @@ BASIC_TESTS = \ paramdup paramres paramtyp parse1 parsefld parseme pcntplus \ posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \ prt1eval prtoeval \ - rand range1 rebt8b1 redfilnm regeq regrange reindops reparse \ + rand range1 rebt8b1 redfilnm regeq regexprange regrange \ + reindops reparse \ resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \ rstest3 rstest4 rstest5 rswhite \ scalar sclforin sclifin sortempty splitargv splitarr splitdef \ @@ -2523,6 +2526,11 @@ regeq: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +regexprange: + @echo regexprange + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + regrange: @echo regrange @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 12d7e35c..df52108d 100644 --- a/test/Maketests +++ b/test/Maketests @@ -670,6 +670,11 @@ regeq: @AWKPATH=$(srcdir) $(AWK) -f $@.awk < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ +regexprange: + @echo regexprange + @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@ + regrange: @echo regrange @AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/regexprange.awk b/test/regexprange.awk new file mode 100644 index 00000000..861e5ee5 --- /dev/null +++ b/test/regexprange.awk @@ -0,0 +1,14 @@ +BEGIN { + range = "[a-dx-z]" + + split("ABCDEFGHIJKLMNOPQRSTUVWXYZ", upper, "") + split("abcdefghijklmnopqrstuvwxyz", lower, "") + + for (i = 1; i in upper; i++) + printf("%s ~ %s ---> %s\n", + upper[i], range, (upper[i] ~ range) ? "true" : "false") + + for (i = 1; i in lower; i++) + printf("%s ~ %s ---> %s\n", + lower[i], range, (lower[i] ~ range) ? "true" : "false") +} diff --git a/test/regexprange.ok b/test/regexprange.ok new file mode 100644 index 00000000..dbf5d35a --- /dev/null +++ b/test/regexprange.ok @@ -0,0 +1,52 @@ +A ~ [a-dx-z] ---> false +B ~ [a-dx-z] ---> false +C ~ [a-dx-z] ---> false +D ~ [a-dx-z] ---> false +E ~ [a-dx-z] ---> false +F ~ [a-dx-z] ---> false +G ~ [a-dx-z] ---> false +H ~ [a-dx-z] ---> false +I ~ [a-dx-z] ---> false +J ~ [a-dx-z] ---> false +K ~ [a-dx-z] ---> false +L ~ [a-dx-z] ---> false +M ~ [a-dx-z] ---> false +N ~ [a-dx-z] ---> false +O ~ [a-dx-z] ---> false +P ~ [a-dx-z] ---> false +Q ~ [a-dx-z] ---> false +R ~ [a-dx-z] ---> false +S ~ [a-dx-z] ---> false +T ~ [a-dx-z] ---> false +U ~ [a-dx-z] ---> false +V ~ [a-dx-z] ---> false +W ~ [a-dx-z] ---> false +X ~ [a-dx-z] ---> false +Y ~ [a-dx-z] ---> false +Z ~ [a-dx-z] ---> false +a ~ [a-dx-z] ---> true +b ~ [a-dx-z] ---> true +c ~ [a-dx-z] ---> true +d ~ [a-dx-z] ---> true +e ~ [a-dx-z] ---> false +f ~ [a-dx-z] ---> false +g ~ [a-dx-z] ---> false +h ~ [a-dx-z] ---> false +i ~ [a-dx-z] ---> false +j ~ [a-dx-z] ---> false +k ~ [a-dx-z] ---> false +l ~ [a-dx-z] ---> false +m ~ [a-dx-z] ---> false +n ~ [a-dx-z] ---> false +o ~ [a-dx-z] ---> false +p ~ [a-dx-z] ---> false +q ~ [a-dx-z] ---> false +r ~ [a-dx-z] ---> false +s ~ [a-dx-z] ---> false +t ~ [a-dx-z] ---> false +u ~ [a-dx-z] ---> false +v ~ [a-dx-z] ---> false +w ~ [a-dx-z] ---> false +x ~ [a-dx-z] ---> true +y ~ [a-dx-z] ---> true +z ~ [a-dx-z] ---> true -- cgit v1.2.3