2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 19:08:59 +00:00

Remove valgrind -- address santizer is better

This commit is contained in:
Jay Berkenbilt 2017-08-28 21:47:56 -04:00
parent abb3191c32
commit d7d446e0b8
4 changed files with 2 additions and 44 deletions

View File

@ -13,14 +13,7 @@
LDFLAGS="-fsanitize=address" \ LDFLAGS="-fsanitize=address" \
--enable-werror --disable-shared --enable-werror --disable-shared
``` ```
As of gcc 6.3.0, this exposes some good things but appears to also have some false positive leak reports. Valgrind is more reliable but also may miss some things that this catches. The test suite should run clean with this. This seems to be more reliable than valgrind.
* Consider running tests with latest gcc and/or valgrind. To test with valgrind:
```
./configure --disable-shared
make -j8 -k VALGRIND=1
make -k check NO_REBUILD=1
```
This moves each binary into a subdirectory and replaces it with a link to make/exec-z. See make/exec-z.
* Test with clang. * Test with clang.
* Check all open issues in the sourceforge trackers and on github. * Check all open issues in the sourceforge trackers and on github.
* If any interfaces were added or changed, check C API to see whether changes are appropriate there as well. If necessary, review the casting policy in the manual, and ensure that integer types are properly handled. * If any interfaces were added or changed, check C API to see whether changes are appropriate there as well. If necessary, review the casting policy in the manual, and ensure that integer types are properly handled.
@ -83,7 +76,7 @@ If building or editing documentation, configure with `--enable-doc-maintenance`.
If you want to run `make maintainer-clean`, `make distclean`, or `make autofiles.zip` and you haven't run `./configure`, you can pass `CLEAN=1` to make on the command line to prevent it from complaining about configure not having been run. If you want to run `make maintainer-clean`, `make distclean`, or `make autofiles.zip` and you haven't run `./configure`, you can pass `CLEAN=1` to make on the command line to prevent it from complaining about configure not having been run.
If you want to run checks without rerunning the build, pass `NO_REBUILD=1` to make. This can be useful for special testing scenarios such as valgrind or binary compatibility. If you want to run checks without rerunning the build, pass `NO_REBUILD=1` to make. This can be useful for special testing scenarios such as validation of memory fixes or binary compatibility.
# Local Windows Testing Procedure # Local Windows Testing Procedure

View File

@ -1,24 +0,0 @@
#!/bin/sh
# This script is used for valgrind testing. See README-maintainer.md.
# Create a suppressions file. This can be updated by running valgrind
# with --gen-suppressions=yes.
test -f /tmp/a.supp || cat > /tmp/a.supp <<EOF
{
zlib1
Memcheck:Cond
fun:inflateReset2
fun:inflateInit2_
}
{
index
Memcheck:Cond
fun:index
fun:expand_dynamic_string_token
fun:_dl_map_object
fun:map_doit
}
EOF
exec valgrind --suppressions=/tmp/a.supp -q \
`dirname $0`/z/`basename $0` ${1+"$@"}

View File

@ -102,7 +102,6 @@ endef
# Usage: $(call makebin,objs,binary,ldflags,libs) # Usage: $(call makebin,objs,binary,ldflags,libs)
define makebin define makebin
$(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3) $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3)
if [ "$(VALGRIND)" = 1 ]; then make/valgrind-wrap $(2); fi
endef endef
# Install target # Install target

View File

@ -1,10 +0,0 @@
#!/bin/sh
set -e
pwd
dir=$(dirname $1)
if [ ! -x $dir/exec-z ]; then
ln -f make/exec-z $dir/exec-z
fi
mkdir -p $dir/z
mv $1 $dir/z
ln -f $dir/exec-z $1