diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-12-26 20:48:01 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-12-26 20:48:01 +0200 |
commit | b051339682f46be6d3cde3d744409e7b4e077167 (patch) | |
tree | 3efcb5e127cdb78ebbc28af88ab87db0be65503f | |
parent | f7a69176569a76daab7b772157a76ddb8f85e046 (diff) | |
download | egawk-b051339682f46be6d3cde3d744409e7b4e077167.tar.gz egawk-b051339682f46be6d3cde3d744409e7b4e077167.tar.bz2 egawk-b051339682f46be6d3cde3d744409e7b4e077167.zip |
New test - fpat9.
-rw-r--r-- | pc/ChangeLog | 4 | ||||
-rw-r--r-- | pc/Makefile.tst | 7 | ||||
-rw-r--r-- | test/Makefile.am | 5 | ||||
-rw-r--r-- | test/Makefile.in | 10 | ||||
-rw-r--r-- | test/Maketests | 5 | ||||
-rw-r--r-- | test/fpat9.awk | 22 | ||||
-rw-r--r-- | test/fpat9.in | 7 | ||||
-rw-r--r-- | test/fpat9.ok | 64 |
8 files changed, 121 insertions, 3 deletions
diff --git a/pc/ChangeLog b/pc/ChangeLog index 2c0b8b34..c954002e 100644 --- a/pc/ChangeLog +++ b/pc/ChangeLog @@ -1,3 +1,7 @@ +2020-12-26 Arnold D. Robbins <arnold@skeeve.com> + + * Makefile.tst: Rebuilt. + 2020-12-20 Arnold D. Robbins <arnold@skeeve.com> * Makefile.tst: Rebuilt. diff --git a/pc/Makefile.tst b/pc/Makefile.tst index 0d5cef13..890c2ff0 100644 --- a/pc/Makefile.tst +++ b/pc/Makefile.tst @@ -197,7 +197,7 @@ GAWK_EXT_TESTS = \ dbugeval dbugeval2 dbugeval3 dbugtypedre1 dbugtypedre2 delsub \ devfd devfd1 devfd2 dfacheck1 dumpvars \ errno exit fieldwdth forcenum \ - fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpatnull \ + fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull \ fsfwfs funlen functab1 functab2 functab3 \ fwtest fwtest2 fwtest3 fwtest4 fwtest5 fwtest6 fwtest7 fwtest8 \ genpot gensub gensub2 gensub3 getlndir gnuops2 gnuops3 gnureops gsubind \ @@ -2707,6 +2707,11 @@ fpat8: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +fpat9: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + fpatnull: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Makefile.am b/test/Makefile.am index 097dc261..2b1f1416 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -376,6 +376,9 @@ EXTRA_DIST = \ fpat8.awk \ fpat8.in \ fpat8.ok \ + fpat9.awk \ + fpat9.in \ + fpat9.ok \ fpatnull.awk \ fpatnull.in \ fpatnull.ok \ @@ -1424,7 +1427,7 @@ GAWK_EXT_TESTS = \ dbugeval dbugeval2 dbugeval3 dbugtypedre1 dbugtypedre2 delsub \ devfd devfd1 devfd2 dfacheck1 dumpvars \ errno exit fieldwdth forcenum \ - fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpatnull \ + fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull \ fsfwfs funlen functab1 functab2 functab3 \ fwtest fwtest2 fwtest3 fwtest4 fwtest5 fwtest6 fwtest7 fwtest8 \ genpot gensub gensub2 gensub3 getlndir gnuops2 gnuops3 gnureops gsubind \ diff --git a/test/Makefile.in b/test/Makefile.in index 871e5a43..b96b7d0d 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -639,6 +639,9 @@ EXTRA_DIST = \ fpat8.awk \ fpat8.in \ fpat8.ok \ + fpat9.awk \ + fpat9.in \ + fpat9.ok \ fpatnull.awk \ fpatnull.in \ fpatnull.ok \ @@ -1687,7 +1690,7 @@ GAWK_EXT_TESTS = \ dbugeval dbugeval2 dbugeval3 dbugtypedre1 dbugtypedre2 delsub \ devfd devfd1 devfd2 dfacheck1 dumpvars \ errno exit fieldwdth forcenum \ - fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpatnull \ + fpat1 fpat2 fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull \ fsfwfs funlen functab1 functab2 functab3 \ fwtest fwtest2 fwtest3 fwtest4 fwtest5 fwtest6 fwtest7 fwtest8 \ genpot gensub gensub2 gensub3 getlndir gnuops2 gnuops3 gnureops gsubind \ @@ -4366,6 +4369,11 @@ fpat8: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +fpat9: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + fpatnull: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/Maketests b/test/Maketests index 90599c49..363a2755 100644 --- a/test/Maketests +++ b/test/Maketests @@ -1451,6 +1451,11 @@ fpat8: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +fpat9: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + fpatnull: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ diff --git a/test/fpat9.awk b/test/fpat9.awk new file mode 100644 index 00000000..06142b85 --- /dev/null +++ b/test/fpat9.awk @@ -0,0 +1,22 @@ +#! /bin/gawk -f + +# Modified version of program from Arthur Schwarz <home@slipbits.com>. + +BEGIN { # program constants + FPAT = "([^,]*)|(\"([^\"]|\"\")+\")" # CSV field separator + print "FPAT = ", FPAT; +} +{ + print "------------------------------------------------\n" + print $0; + printf("%3d: \n", NF); + for (i = 1; i <= NF; i++) { + if (substr($i, 1, 1) == "\"") { + len = length($i) # BUG FIX, was length($1) + $i = substr($i, 2, len - 2); + gsub(/""/, "\"", $i) # embedded "" --> " + } + printf(" <%d: %s>\n", i, $i); + } + print " "; +} diff --git a/test/fpat9.in b/test/fpat9.in new file mode 100644 index 00000000..70440d81 --- /dev/null +++ b/test/fpat9.in @@ -0,0 +1,7 @@ +"PDQ",,, +"line 1",,,"http://file.a/A%20Guide%20" +"line 2",,,"https://www.whitgt.pdf" +"line 3, and xyz",,,"http://www.c/main.pdf" +"line 4 "" and abc",,,http://file.a/A%20Guide%20 +line 5,,,https://www.whitgt.pdf +line 6,,,http://file.a/A%20Guide%20 diff --git a/test/fpat9.ok b/test/fpat9.ok new file mode 100644 index 00000000..e1f705e6 --- /dev/null +++ b/test/fpat9.ok @@ -0,0 +1,64 @@ +FPAT = ([^,]*)|("([^"]|"")+") +------------------------------------------------ + +"PDQ",,, + 4: + <1: PDQ> + <2: > + <3: > + <4: > + +------------------------------------------------ + +"line 1",,,"http://file.a/A%20Guide%20" + 4: + <1: line 1> + <2: > + <3: > + <4: http://file.a/A%20Guide%20> + +------------------------------------------------ + +"line 2",,,"https://www.whitgt.pdf" + 4: + <1: line 2> + <2: > + <3: > + <4: https://www.whitgt.pdf> + +------------------------------------------------ + +"line 3, and xyz",,,"http://www.c/main.pdf" + 4: + <1: line 3, and xyz> + <2: > + <3: > + <4: http://www.c/main.pdf> + +------------------------------------------------ + +"line 4 "" and abc",,,http://file.a/A%20Guide%20 + 4: + <1: line 4 " and abc> + <2: > + <3: > + <4: http://file.a/A%20Guide%20> + +------------------------------------------------ + +line 5,,,https://www.whitgt.pdf + 4: + <1: line 5> + <2: > + <3: > + <4: https://www.whitgt.pdf> + +------------------------------------------------ + +line 6,,,http://file.a/A%20Guide%20 + 4: + <1: line 6> + <2: > + <3: > + <4: http://file.a/A%20Guide%20> + |