2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 02:49:00 +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" \
--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.
* 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.
The test suite should run clean with this. This seems to be more reliable than valgrind.
* Test with clang.
* 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.
@ -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 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

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)
define makebin
$(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3)
if [ "$(VALGRIND)" = 1 ]; then make/valgrind-wrap $(2); fi
endef
# 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