Skip to content

Commit

Permalink
Add a clang memory sanitizer test to travis
Browse files Browse the repository at this point in the history
  • Loading branch information
jonasnick committed Nov 5, 2019
1 parent 0c774d8 commit e23148a
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,32 @@ matrix:
packages:
- gcc-multilib
- libgmp-dev:i386

# clang with memory sanitizer
#
# --disable-openssl-tests because openssl uses uninitialized memory. ASM
# and BIGNUM are disabled because clang memory sanitizer does not work
# with inline assembly (https://clang.llvm.org/docs/MemorySanitizer.html).
# The memory sanitizer is instructed to exit with a different exit code
# using MSAN_OPTIONS. This is because the default exit code is 77 - the
# same exit code that autotools make check interprets as a test that is
# supposed to be skipped.
#
# With endomorphism
- compiler: clang
env:
- EXTRAFLAGS="--disable-openssl-tests CFLAGS=-fsanitize=memory" ASM=no
- BIGNUM=no EXPERIMENTAL=yes RECOVERY=yes ECDH=yes
- MSAN_OPTIONS=exitcode=42
- ENDOMORPHISM=yes
# Memory sanitizer without endomorphism
- compiler: clang
env:
- EXTRAFLAGS="--disable-openssl-tests CFLAGS=-fsanitize=memory" ASM=no
- BIGNUM=no EXPERIMENTAL=yes RECOVERY=yes ECDH=yes
- MSAN_OPTIONS=exitcode=42
- ENDOMORPHISM=no

before_install: mkdir -p `dirname $GUAVA_JAR`
install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi
before_script: ./autogen.sh
Expand Down

0 comments on commit e23148a

Please sign in to comment.