diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ChangeLog | 5 | ||||
-rw-r--r-- | test/Makefile.am | 4 | ||||
-rw-r--r-- | test/Makefile.in | 9 | ||||
-rw-r--r-- | test/Maketests | 5 | ||||
-rw-r--r-- | test/memleak.awk | 20 | ||||
-rw-r--r-- | test/memleak.ok | 1 |
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 |