aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-12-26 20:48:01 +0200
committerArnold D. Robbins <arnold@skeeve.com>2020-12-26 20:48:01 +0200
commitb051339682f46be6d3cde3d744409e7b4e077167 (patch)
tree3efcb5e127cdb78ebbc28af88ab87db0be65503f
parentf7a69176569a76daab7b772157a76ddb8f85e046 (diff)
downloadegawk-b051339682f46be6d3cde3d744409e7b4e077167.tar.gz
egawk-b051339682f46be6d3cde3d744409e7b4e077167.tar.bz2
egawk-b051339682f46be6d3cde3d744409e7b4e077167.zip
New test - fpat9.
-rw-r--r--pc/ChangeLog4
-rw-r--r--pc/Makefile.tst7
-rw-r--r--test/Makefile.am5
-rw-r--r--test/Makefile.in10
-rw-r--r--test/Maketests5
-rw-r--r--test/fpat9.awk22
-rw-r--r--test/fpat9.in7
-rw-r--r--test/fpat9.ok64
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>
+