aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am4
-rw-r--r--test/Makefile.in9
-rw-r--r--test/Maketests5
-rw-r--r--test/memleak.awk20
-rw-r--r--test/memleak.ok1
6 files changed, 42 insertions, 2 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index d684e73a..e1915002 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2017-04-12 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (memleak): New test.
+ * memleak.awk, memleak.ok: New files.
+
2017-03-27 Arnold D. Robbins <arnold@skeeve.com>
* fwtest4: Renamed from fwtest3.
diff --git a/test/Makefile.am b/test/Makefile.am
index b1a97621..686f4f0e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -619,6 +619,8 @@ EXTRA_DIST = \
membug1.awk \
membug1.in \
membug1.ok \
+ memleak.awk \
+ memleak.ok \
messages.awk \
minusstr.awk \
minusstr.ok \
@@ -1190,7 +1192,7 @@ BASIC_TESTS = \
hex hex2 hsprint \
inpref inputred intest intprec iobug1 \
leaddig leadnl litoct longsub longwrds \
- manglprm math membug1 messages minusstr mmap8k mtchi18n \
+ manglprm math membug1 memleak messages minusstr mmap8k mtchi18n \
nasty nasty2 negexp negrange nested nfldstr nfloop nfneg nfset nlfldsep \
nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
noparms nors nulinsrc nulrsend numindex numsubstr \
diff --git a/test/Makefile.in b/test/Makefile.in
index 57f5bf61..fd11ca4e 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -877,6 +877,8 @@ EXTRA_DIST = \
membug1.awk \
membug1.in \
membug1.ok \
+ memleak.awk \
+ memleak.ok \
messages.awk \
minusstr.awk \
minusstr.ok \
@@ -1447,7 +1449,7 @@ BASIC_TESTS = \
hex hex2 hsprint \
inpref inputred intest intprec iobug1 \
leaddig leadnl litoct longsub longwrds \
- manglprm math membug1 messages minusstr mmap8k mtchi18n \
+ manglprm math membug1 memleak messages minusstr mmap8k mtchi18n \
nasty nasty2 negexp negrange nested nfldstr nfloop nfneg nfset nlfldsep \
nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
noparms nors nulinsrc nulrsend numindex numsubstr \
@@ -3324,6 +3326,11 @@ membug1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+memleak:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
minusstr:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index 9ff8ef90..a13c83e2 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -505,6 +505,11 @@ membug1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+memleak:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
minusstr:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/memleak.awk b/test/memleak.awk
new file mode 100644
index 00000000..3937658f
--- /dev/null
+++ b/test/memleak.awk
@@ -0,0 +1,20 @@
+# This program doesn't do anything except allow us to
+# check for memory leak from using a user-supplied
+# sorting function.
+#
+# From Andrew Schorr.
+
+function my_func(i1, v1, i2, v2) {
+ return v2-v1
+}
+
+BEGIN {
+ a[1] = "3"
+ a[2] = "2"
+ a[3] = "4"
+ for (i = 0; i < 10000; i++) {
+ n = asort(a, b, "my_func")
+ s += n
+ }
+ print s
+}
diff --git a/test/memleak.ok b/test/memleak.ok
new file mode 100644
index 00000000..3a05c8b3
--- /dev/null
+++ b/test/memleak.ok
@@ -0,0 +1 @@
+30000