aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-04-12 11:45:44 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-04-12 11:45:44 +0300
commit8f83ab76a1d8861d9a992290f2691443d5169c89 (patch)
treeab97e5c6532b812c681121127694d6ece4a2e92d /test
parent6ba1d42808efba4f381aaeec54211a7802b816ff (diff)
parent906ac1a525dd0f7ad87bafdaf882323938842760 (diff)
downloadegawk-8f83ab76a1d8861d9a992290f2691443d5169c89.tar.gz
egawk-8f83ab76a1d8861d9a992290f2691443d5169c89.tar.bz2
egawk-8f83ab76a1d8861d9a992290f2691443d5169c89.zip
Merge branch 'master' into feature/stringfix
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 44498aef..dd6b4cfb 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 1e88848b..fe9b1dcc 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 \
@@ -1193,7 +1195,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 5535a3f5..e6293e8d 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 \
@@ -1450,7 +1452,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 \
@@ -3327,6 +3329,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 c5edc3b4..4b765c9f 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