forked from Mirrors/freeswitch
d8c4d22d40
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@10802 d0543943-73ff-0310-b7d9-9358b9ac24b2
115 lines
3.5 KiB
Plaintext
115 lines
3.5 KiB
Plaintext
#
|
|
# run tests with valgrind
|
|
#
|
|
|
|
# Copyright (C) 2007 Nokia Corporation.
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public License
|
|
# as published by the Free Software Foundation; either version 2.1 of
|
|
# the License, or (at your option) any later version.
|
|
|
|
# This file contains free software from Makefile.in by the Free Software
|
|
# Foundation:
|
|
|
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
|
# 2003, 2004, 2005 Free Software Foundation, Inc.
|
|
# This Makefile.in is free software; the Free Software Foundation
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
VALGRIND = valgrind
|
|
|
|
VALGRINDFLAGS = --tool=memcheck
|
|
|
|
valcheck: $(BUILT_SOURCES)
|
|
$(MAKE) $(AM_MAKEFLAGS) valcheck-am
|
|
|
|
valcheck-am: all-am
|
|
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
|
$(MAKE) $(AM_MAKEFLAGS) valcheck-TESTS
|
|
|
|
# Run tests with valgrind in
|
|
valcheck-TESTS: $(TESTS)
|
|
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
|
|
srcdir=$(srcdir); export srcdir; \
|
|
list='$(TESTS)'; \
|
|
if test -n "$$list"; then \
|
|
for tst in $$list; do \
|
|
if test -f ./$$tst; then dir=./; \
|
|
elif test -f $$tst; then dir=; \
|
|
else dir="$(srcdir)/"; fi; \
|
|
if case $$tst in \
|
|
run*) VALGRIND="$(VALGRIND) $(VALGRINDFLAGS)" \
|
|
$(TESTS_ENVIRONMENT) $${dir}$$tst ;; \
|
|
*) $(TESTS_ENVIRONMENT) $(VALGRIND) $(VALGRINDFLAGS) \
|
|
$${dir}$$tst ;; \
|
|
esac ; then \
|
|
all=`expr $$all + 1`; \
|
|
case " $(XFAIL_TESTS) " in \
|
|
*" $$tst "*) \
|
|
xpass=`expr $$xpass + 1`; \
|
|
failed=`expr $$failed + 1`; \
|
|
echo "XPASS: $$tst"; \
|
|
;; \
|
|
*) \
|
|
echo "PASS: $$tst"; \
|
|
;; \
|
|
esac; \
|
|
elif test $$? -ne 77; then \
|
|
all=`expr $$all + 1`; \
|
|
case " $(XFAIL_TESTS) " in \
|
|
*" $$tst "*) \
|
|
xfail=`expr $$xfail + 1`; \
|
|
echo "XFAIL: $$tst"; \
|
|
;; \
|
|
*) \
|
|
failed=`expr $$failed + 1`; \
|
|
echo "FAIL: $$tst"; \
|
|
;; \
|
|
esac; \
|
|
else \
|
|
skip=`expr $$skip + 1`; \
|
|
echo "SKIP: $$tst"; \
|
|
fi; \
|
|
done; \
|
|
if test "$$failed" -eq 0; then \
|
|
if test "$$xfail" -eq 0; then \
|
|
banner="All $$all tests passed"; \
|
|
else \
|
|
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
|
|
fi; \
|
|
else \
|
|
if test "$$xpass" -eq 0; then \
|
|
banner="$$failed of $$all tests failed"; \
|
|
else \
|
|
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
|
|
fi; \
|
|
fi; \
|
|
dashes="$$banner"; \
|
|
skipped=""; \
|
|
if test "$$skip" -ne 0; then \
|
|
skipped="($$skip tests were not run)"; \
|
|
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
|
|
dashes="$$skipped"; \
|
|
fi; \
|
|
report=""; \
|
|
if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
|
|
report="Please report to $(PACKAGE_BUGREPORT)"; \
|
|
test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
|
|
dashes="$$report"; \
|
|
fi; \
|
|
dashes=`echo "$$dashes" | sed s/./=/g`; \
|
|
echo "$$dashes"; \
|
|
echo "$$banner"; \
|
|
test -z "$$skipped" || echo "$$skipped"; \
|
|
test -z "$$report" || echo "$$report"; \
|
|
echo "$$dashes"; \
|
|
test "$$failed" -eq 0; \
|
|
else :; fi
|