Add a --valgrind configure option.

If specified runs "make fate" through valgrind using the
given valgrind binary.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
Reimar Döffinger 2012-01-20 20:42:31 +01:00
parent 99a42f3fa9
commit 77b90f0cd0
2 changed files with 36 additions and 0 deletions

5
configure vendored
View File

@ -269,6 +269,9 @@ Developer options (useful when working on FFmpeg itself):
--disable-optimizations disable compiler optimizations
--enable-extra-warnings enable more compiler warnings
--disable-stripping disable stripping of executables and shared libraries
--valgrind=VALGRIND run "make fate" tests through valgrind to detect memory
leaks and errors, using the specified valgrind binary.
Cannot be combined with --target-exec
--samples=PATH location of test samples for FATE, if not set use
\$FATE_SAMPLES at make invocation time.
@ -1315,6 +1318,7 @@ CMDLINE_SET="
target_exec
target_os
target_path
valgrind
"
CMDLINE_APPEND="
@ -3239,6 +3243,7 @@ fi
enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel"
enabled coverage && add_cflags "-fprofile-arcs -ftest-coverage" && add_ldflags "-fprofile-arcs -ftest-coverage"
test -n "$valgrind" && target_exec="$valgrind --error-exitcode=1 --malloc-fill=0x2a --track-origins=yes --leak-check=full --gen-suppressions=all --suppressions=tests/fate-valgrind.supp"
# add some useful compiler flags if supported
check_cflags -Wdeclaration-after-statement

31
tests/fate-valgrind.supp Normal file
View File

@ -0,0 +1,31 @@
# seems fixed in newer versions
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577135
{
zlib-inflate
Memcheck:Cond
fun:inflateReset2
fun:inflateInit2_
}
# libc overreads on purpose
# http://sourceware.org/bugzilla/show_bug.cgi?id=12424
{
eval-strtod
Memcheck:Addr8
fun:__GI___strncasecmp_l
fun:____strtod_l_internal
fun:av_strtod
}
{
eval-strtod
Memcheck:Value8
fun:__GI___strncasecmp_l
fun:____strtod_l_internal
fun:av_strtod
}
{
eval-strtod
Memcheck:Cond
fun:__GI___strncasecmp_l
fun:____strtod_l_internal
fun:av_strtod
}