|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for clang Memory Sanitizer [1], which detects the usage of
uninitialized values. While elfutils itself is already checked with
valgrind, checking code that depends on elfutils requires elfutils to
be built with MSan.
MSan is not linked into shared libraries, and is linked into
executables statically. Therefore, unlike the other sanitizers, MSan
needs to be configured fairly early, since we need to drop
-D_FORTIFY_SOURCE [2], -Wl,-z,defs and --no-undefined.
Disable a few tests that run for more than 5 minutes due to test files
being statically linked with MSan.
[1] https://clang.llvm.org/docs/MemorySanitizer.html
[2] https://github.com/google/sanitizers/issues/247
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The parallel-tests option was introduced in automake 1.11 and is the
default since automake 1.13. All tests can now be ran in parallel with
make check -j. To enable this all tests are ran in their own temporary
directory so they don't stomp on each others input or output files.
On my machine (4 cores) make check takes ~20 seconds, but now with
make check -j8 takes only ~4 seconds.
ChangeLog:
* configure.ac (AM_INIT_AUTOMAKE): Request parallel-tests.
tests/ChangeLog:
* Makefile.am (installed_TESTS_ENVIRONMENT): Export environment,
remove wrapper.
(TESTS_ENVIRONMENT): Likewise.
(installed_LOG_COMPILER): New variable defining wrapper.
(LOG_COMPILER): Likewise.
* run-*.sh: Fixup location of input and output files.
* test-subr.sh: Create test_dir, pushd to execute test in.
(trap): Remove test_dir.
(testfiles): Use abs_srcdir.
(installed_testrun): Match on abs_builddir or abs_top_builddir.
(self_test_files): Adjust path.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|