summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Varshavchik2022-01-23 20:00:56 -0500
committerSam Varshavchik2022-01-23 20:00:56 -0500
commit956c3df8c0ba7d18a1e8c402b44a7669cde07458 (patch)
tree669b645446da16e12e992fc921f3440cdd3ee78c
parentb4d55770c8ae9d63cb2a7288b9ea2727f273f6c2 (diff)
downloadcourier-libs-956c3df8c0ba7d18a1e8c402b44a7669cde07458.tar.bz2
Additional tests
-rw-r--r--maildir/Makefile.am6
-rw-r--r--maildir/maildirkw.c3
-rw-r--r--maildir/testsuite46
-rw-r--r--maildir/testsuitevalgrind10
4 files changed, 41 insertions, 24 deletions
diff --git a/maildir/Makefile.am b/maildir/Makefile.am
index d2513a7..d619fb3 100644
--- a/maildir/Makefile.am
+++ b/maildir/Makefile.am
@@ -110,6 +110,7 @@ testmaildirsearch_LDADD=libmaildir.la -lcourier-unicode
testmaildirsearch_DEPENDENCIES=libmaildir.la
EXTRA_DIST=README.maildirquota.html README.maildirquota.txt \
+ testsuitevalgrind \
README.imapkeywords.html \
README.maildirfilter.html \
README.sharedfolders.html README.sharedfolders.txt \
@@ -143,7 +144,7 @@ clean-local:
rm -rf testmd
check-am:
- @SHELL@ $(srcdir)/testsuite 2>&1 | cmp - $(srcdir)/testsuite.txt
+ unset VALGRIND; @SHELL@ $(srcdir)/testsuite 2>&1 | cmp - $(srcdir)/testsuite.txt
test "@PCRE_LDFLAGS@" != "" || exit 0 ; @SHELL@ $(srcdir)/testsuite2 2>&1 | cmp - $(srcdir)/testsuite2.txt
LC_ALL=C; export LC_ALL; ./maildirkwtest | cmp -s - $(srcdir)/maildirkwtest.txt
LC_ALL=C; export LC_ALL; ./maildiraclttest
@@ -156,6 +157,9 @@ check-am:
./testmaildirsearch iso-8859-1 "abra cadAbra" "abra cadabra"
./testmaildirsearch iso-8859-1 " abra cadAbra " " abra cadabra"
./testmaildirsearch iso-8859-1 " abra cadAbra " " abra cadabra "
+ VALGRIND="`which valgrind 2>/dev/null`"; test "$$VALGRIND" != "" || exit 0; \
+ LC_ALL=C; export LC_ALL; export VALGRIND="@SHELL@ $(srcdir)/testsuitevalgrind"; rm -f confmdtesterror; @SHELL@ $(srcdir)/testsuite 2>&1 | tee testsuite.out; test ! -f confmdtesterror
+ rm -rf testsuite.out
if HAVE_SGML
diff --git a/maildir/maildirkw.c b/maildir/maildirkw.c
index bc1b848..a0df76c 100644
--- a/maildir/maildirkw.c
+++ b/maildir/maildirkw.c
@@ -173,6 +173,8 @@ static int doit_locked(const char *maildir,
}
}
+ free(tmpname);
+ free(newname);
if (kwm_alloced)
libmail_kwmDestroy(kwm_alloced);
libmail_kwgDestroy(&g);
@@ -210,6 +212,7 @@ static int list_locked(const char *maildir)
printf(" %s", keywordName(k->libmail_keywordEntryPtr));
printf("\n");
}
+ libmail_kwgDestroy(&g);
return 0;
}
diff --git a/maildir/testsuite b/maildir/testsuite
index 13c9e23..d6e5d91 100644
--- a/maildir/testsuite
+++ b/maildir/testsuite
@@ -1,41 +1,41 @@
LC_ALL=C
export LC_ALL
rm -rf testmd
-./maildirmake testmd
-./maildirmake -q 3C testmd
-ls | ./deliverquota testmd
+set -e
+$VALGRIND ./maildirmake testmd
+$VALGRIND ./maildirmake -q 3C testmd
+ls | $VALGRIND ./deliverquota testmd
echo $? | cut -c1
-ls | ./deliverquota testmd
+ls | $VALGRIND ./deliverquota testmd
echo $? | cut -c1
-ls | ./deliverquota testmd
-echo $? | cut -c1
-ls | ./deliverquota testmd
+ls | $VALGRIND ./deliverquota testmd
echo $? | cut -c1
+ls | $VALGRIND ./deliverquota testmd || echo $? | cut -c1
rm -rf md
./maildirmake md
echo ""
-./maildirkw -L md | sort
-./maildirkw md one Label0 Label1
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw md one Label0 Label1
echo ""
-./maildirkw -L md | sort
-./maildirkw md two Label0 Label1
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw md two Label0 Label1
echo ""
-./maildirkw -L md | sort
-./maildirkw md two Label1 Label2
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw md two Label1 Label2
echo ""
-./maildirkw -L md | sort
-./maildirkw md three Label2 Label3
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw md three Label2 Label3
echo ""
-./maildirkw -L md | sort
-./maildirkw md three Label3
-./maildirkw -a md three Label4
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw md three Label3
+$VALGRIND ./maildirkw -a md three Label4
echo ""
-./maildirkw -L md | sort
-./maildirkw -r md one Label0
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw -r md one Label0
echo ""
-./maildirkw -L md | sort
-./maildirkw -r md one Label1
+$VALGRIND ./maildirkw -L md | sort
+$VALGRIND ./maildirkw -r md one Label1
echo ""
-./maildirkw -L md | sort
+$VALGRIND ./maildirkw -L md | sort
rm -rf md testmd
diff --git a/maildir/testsuitevalgrind b/maildir/testsuitevalgrind
new file mode 100644
index 0000000..3700979
--- /dev/null
+++ b/maildir/testsuitevalgrind
@@ -0,0 +1,10 @@
+#! /bin/bash
+
+valgrind --tool=memcheck --leak-check=yes --error-exitcode=57 "$@" && exit 0
+if test "$?" != 57
+then
+ exit $?
+fi
+
+echo "$@" >>confmdtesterror
+exit 0