Commit d7d446e0b8aacd122d1a000d38ebafa4dbf5b3d2
1 parent
abb3191c
Remove valgrind -- address santizer is better
Showing
4 changed files
with
2 additions
and
44 deletions
README-maintainer.md
| @@ -13,14 +13,7 @@ | @@ -13,14 +13,7 @@ | ||
| 13 | LDFLAGS="-fsanitize=address" \ | 13 | LDFLAGS="-fsanitize=address" \ |
| 14 | --enable-werror --disable-shared | 14 | --enable-werror --disable-shared |
| 15 | ``` | 15 | ``` |
| 16 | - 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. | ||
| 17 | -* Consider running tests with latest gcc and/or valgrind. To test with valgrind: | ||
| 18 | - ``` | ||
| 19 | - ./configure --disable-shared | ||
| 20 | - make -j8 -k VALGRIND=1 | ||
| 21 | - make -k check NO_REBUILD=1 | ||
| 22 | - ``` | ||
| 23 | - This moves each binary into a subdirectory and replaces it with a link to make/exec-z. See make/exec-z. | 16 | + The test suite should run clean with this. This seems to be more reliable than valgrind. |
| 24 | * Test with clang. | 17 | * Test with clang. |
| 25 | * Check all open issues in the sourceforge trackers and on github. | 18 | * Check all open issues in the sourceforge trackers and on github. |
| 26 | * 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. | 19 | * 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`. | @@ -83,7 +76,7 @@ If building or editing documentation, configure with `--enable-doc-maintenance`. | ||
| 83 | 76 | ||
| 84 | 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. | 77 | 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. |
| 85 | 78 | ||
| 86 | -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. | 79 | +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. |
| 87 | 80 | ||
| 88 | # Local Windows Testing Procedure | 81 | # Local Windows Testing Procedure |
| 89 | 82 |
make/exec-z deleted
| 1 | -#!/bin/sh | ||
| 2 | -# This script is used for valgrind testing. See README-maintainer.md. | ||
| 3 | - | ||
| 4 | -# Create a suppressions file. This can be updated by running valgrind | ||
| 5 | -# with --gen-suppressions=yes. | ||
| 6 | -test -f /tmp/a.supp || cat > /tmp/a.supp <<EOF | ||
| 7 | -{ | ||
| 8 | - zlib1 | ||
| 9 | - Memcheck:Cond | ||
| 10 | - fun:inflateReset2 | ||
| 11 | - fun:inflateInit2_ | ||
| 12 | -} | ||
| 13 | -{ | ||
| 14 | - index | ||
| 15 | - Memcheck:Cond | ||
| 16 | - fun:index | ||
| 17 | - fun:expand_dynamic_string_token | ||
| 18 | - fun:_dl_map_object | ||
| 19 | - fun:map_doit | ||
| 20 | -} | ||
| 21 | -EOF | ||
| 22 | - | ||
| 23 | -exec valgrind --suppressions=/tmp/a.supp -q \ | ||
| 24 | - `dirname $0`/z/`basename $0` ${1+"$@"} |
make/libtool.mk
| @@ -102,7 +102,6 @@ endef | @@ -102,7 +102,6 @@ endef | ||
| 102 | # Usage: $(call makebin,objs,binary,ldflags,libs) | 102 | # Usage: $(call makebin,objs,binary,ldflags,libs) |
| 103 | define makebin | 103 | define makebin |
| 104 | $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3) | 104 | $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3) |
| 105 | - if [ "$(VALGRIND)" = 1 ]; then make/valgrind-wrap $(2); fi | ||
| 106 | endef | 105 | endef |
| 107 | 106 | ||
| 108 | # Install target | 107 | # Install target |