aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-20 20:42:31 +0100
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>2012-01-21 12:04:46 +0100
commit77b90f0cd0b702b9ffff55d8612ef8b487705fd6 (patch)
tree6b43de70b78a98b143f512d2560503c694181fbd
parent99a42f3fa95aa68f6c945e98e043d69e541d93cc (diff)
downloadffmpeg-77b90f0cd0b702b9ffff55d8612ef8b487705fd6.tar.gz
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>
-rwxr-xr-xconfigure5
-rw-r--r--tests/fate-valgrind.supp31
2 files changed, 36 insertions, 0 deletions
diff --git a/configure b/configure
index 3bace2b188..15f7d7fad1 100755
--- a/configure
+++ b/configure
@@ -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
diff --git a/tests/fate-valgrind.supp b/tests/fate-valgrind.supp
new file mode 100644
index 0000000000..db72c54b7f
--- /dev/null
+++ b/tests/fate-valgrind.supp
@@ -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
+}