aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog6
-rw-r--r--test/Makefile.am5
-rw-r--r--test/Makefile.in10
-rw-r--r--test/Maketests5
-rw-r--r--test/subback.awk16
-rw-r--r--test/subback.in1
-rw-r--r--test/subback.ok12
7 files changed, 53 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index f0e901e4..9b16506a 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,5 +1,11 @@
2016-06-14 Arnold D. Robbins <arnold@skeeve.com>
+ * Makefile.am (subback): New test.
+ * subback.awk, subback.in, subback.ok: New files.
+ Thanks to Mike Brennan for the test.
+
+2016-06-14 Arnold D. Robbins <arnold@skeeve.com>
+
* Makefile.am (GAWK_EXT_TESTS): Add mixed1. Who knows
how long that's been broken...
* mixed1.ok: Adjust to match what the code produces.
diff --git a/test/Makefile.am b/test/Makefile.am
index d3842fb5..3dde245e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -951,6 +951,9 @@ EXTRA_DIST = \
subamp.awk \
subamp.in \
subamp.ok \
+ subback.awk \
+ subback.in \
+ subback.ok \
subi18n.awk \
subi18n.ok \
subsepnm.awk \
@@ -1088,7 +1091,7 @@ BASIC_TESTS = \
reparse resplit rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
rstest3 rstest4 rstest5 rswhite \
scalar sclforin sclifin sigpipe1 sortempty sortglos splitargv splitarr splitdef \
- splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+ splitvar splitwht strcat1 strnum1 strtod subamp subback subi18n \
subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 31f018a4..43b15e9d 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1208,6 +1208,9 @@ EXTRA_DIST = \
subamp.awk \
subamp.in \
subamp.ok \
+ subback.awk \
+ subback.in \
+ subback.ok \
subi18n.awk \
subi18n.ok \
subsepnm.awk \
@@ -1344,7 +1347,7 @@ BASIC_TESTS = \
reparse resplit rri1 rs rscompat rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
rstest3 rstest4 rstest5 rswhite \
scalar sclforin sclifin sigpipe1 sortempty sortglos splitargv splitarr splitdef \
- splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+ splitvar splitwht strcat1 strnum1 strtod subamp subback subi18n \
subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
@@ -3499,6 +3502,11 @@ strtod:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+subback:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
subsepnm:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index c7b125c7..57b5c5ad 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -892,6 +892,11 @@ strtod:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+subback:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
subsepnm:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/subback.awk b/test/subback.awk
new file mode 100644
index 00000000..d91513c1
--- /dev/null
+++ b/test/subback.awk
@@ -0,0 +1,16 @@
+BEGIN {
+ A[0] = "&"
+ for(i=1;i<=11;i++) {
+ A[i] = "\\" A[i-1]
+ }
+## A[] holds & \& \\& \\\& \\\\& ...
+}
+
+{
+ for(i=0; i <= 11 ; i++) {
+ x = $0
+ sub(/B/, A[i], x)
+ y = gensub(/B/, A[i], "1", $0)
+ print i, x, y
+ }
+}
diff --git a/test/subback.in b/test/subback.in
new file mode 100644
index 00000000..223b7836
--- /dev/null
+++ b/test/subback.in
@@ -0,0 +1 @@
+B
diff --git a/test/subback.ok b/test/subback.ok
new file mode 100644
index 00000000..9792c82b
--- /dev/null
+++ b/test/subback.ok
@@ -0,0 +1,12 @@
+0 B B
+1 & &
+2 \B \B
+3 \& \&
+4 \\B \\B
+5 \\& \\&
+6 \\\B \\\B
+7 \\\& \\\&
+8 \\\\B \\\\B
+9 \\\\& \\\\&
+10 \\\\\B \\\\\B
+11 \\\\\& \\\\\&