summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2009-02-09 13:23:45 +0100
committerEdward Hervey <bilboed@bilboed.com>2009-02-09 13:54:50 +0100
commit3a000ecaa475106b76c64b80647b36b2d9b75f71 (patch)
tree12f170ab5d7e1e44e5ae0aca4bc763525da4a133 /testsuite
parent9291aa202fe21ea51232d60d93c20436a05db7f4 (diff)
Add a rule to generate valgrind suppressions for a single test.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/Makefile.am21
1 files changed, 20 insertions, 1 deletions
diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
index 1d57607..831f5d2 100644
--- a/testsuite/Makefile.am
+++ b/testsuite/Makefile.am
@@ -60,7 +60,7 @@ endif
GSTSUPP = $(top_srcdir)/common/gst.supp
PYTHONSUPP = $(top_srcdir)/testsuite/python.supp
GSTPYTHONSUPP = $(top_srcdir)/testsuite/gstpython.supp
-TESTS_ENVIRONMENT = PYTHONPATH=$(top_srcdir)/:$(PYTHONPATH)
+TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir):$(top_builddir)/gst/.libs:`pwd`:$(top_srcdir):$(PYTHONPATH)
# gdb any given test_x.py by running make test_x.py.gdb
%.gdb: %
@@ -87,6 +87,25 @@ TESTS_ENVIRONMENT = PYTHONPATH=$(top_srcdir)/:$(PYTHONPATH)
fi
@rm valgrind.log
+# valgrind any given test_x.py by running make test_x.py.valgrind
+%.gen-suppressions: %
+ $(TESTS_ENVIRONMENT) \
+ G_DEBUG=gc-friendly G_SLICE=always-malloc \
+ $(VALGRIND_PATH) -q \
+ --suppressions=$(GSTSUPP) \
+ --suppressions=$(PYTHONSUPP) \
+ --suppressions=$(GSTPYTHONSUPP) \
+ --tool=memcheck --leak-check=full --trace-children=yes \
+ --leak-resolution=high --num-callers=50 \
+ --gen-suppressions=all \
+ $(PYTHON) \
+ $* 2>&1 | tee valgrind.log
+ @if grep "tely lost" valgrind.log; then \
+ rm valgrind.log; \
+ exit 1; \
+ fi
+ @rm valgrind.log
+
%.check: %
@PYTHONPATH=$(top_builddir):$(top_builddir)/gst/.libs:`pwd`:$(top_srcdir):$(PYTHONPATH) $(PYTHON) $(srcdir)/cleanup.py
@PYTHONPATH=$(top_builddir):$(top_builddir)/gst/.libs:`pwd`:$(top_srcdir):$(PYTHONPATH) $(PYTHON) $(srcdir)/runtests.py $*