From b4c1382a87dde22d0a5075e56fb7f5d2a09f7cc7 Mon Sep 17 00:00:00 2001 From: Elichai Turkel Date: Thu, 7 Nov 2019 21:31:59 +0200 Subject: [PATCH 1/2] Add valgrind check to travis --- .travis.yml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2c65be6cd2924..a2b4dbdeacc13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,10 +61,21 @@ matrix: packages: - gcc-multilib - libgmp-dev:i386 + - compiler: gcc + env: + - FIELD=auto BIGNUM=no SCALAR=auto ENDOMORPHISM=yes STATICPRECOMPUTATION=yes ASM=x86_64 + - EXPERIMENTAL=no ECDH=no RECOVERY=no VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" HOST= BUILD= JNI=no + addons: + apt: + packages: + - valgrind + before_install: mkdir -p `dirname $GUAVA_JAR` install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi before_script: ./autogen.sh script: - if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi - if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi - - ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY --enable-jni=$JNI $EXTRAFLAGS $USE_HOST && make -j2 $BUILD + - ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY --enable-jni=$JNI $EXTRAFLAGS $USE_HOST + - if [ -n "$BUILD" ]; then make -j2 $BUILD; fi + - if [ -n "$VALGRIND" ]; then make -j2 && travis_wait 30 valgrind --error-exitcode=42 ./tests 8; fi From dd98cc988f0fb3a0ab10bf1a4e28d2fbffd6c1e7 Mon Sep 17 00:00:00 2001 From: Elichai Turkel Date: Sat, 9 Nov 2019 13:40:45 +0200 Subject: [PATCH 2/2] travis: Added a valgrind test without endro and enabled recovery+ecdh --- .travis.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a2b4dbdeacc13..ebc148d7f080f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,8 +63,16 @@ matrix: - libgmp-dev:i386 - compiler: gcc env: - - FIELD=auto BIGNUM=no SCALAR=auto ENDOMORPHISM=yes STATICPRECOMPUTATION=yes ASM=x86_64 - - EXPERIMENTAL=no ECDH=no RECOVERY=no VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" HOST= BUILD= JNI=no + - BIGNUM=no ENDOMORPHISM=yes ASM=x86_64 EXPERIMENTAL=yes ECDH=yes RECOVERY=yes + - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD= + addons: + apt: + packages: + - valgrind + - compiler: gcc + env: # The same as above but without endomorphism. + - BIGNUM=no ENDOMORPHISM=no ASM=x86_64 EXPERIMENTAL=yes ECDH=yes RECOVERY=yes + - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD= addons: apt: packages: @@ -73,9 +81,16 @@ matrix: before_install: mkdir -p `dirname $GUAVA_JAR` install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi before_script: ./autogen.sh + script: - if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi - if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi - ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY --enable-jni=$JNI $EXTRAFLAGS $USE_HOST - if [ -n "$BUILD" ]; then make -j2 $BUILD; fi - - if [ -n "$VALGRIND" ]; then make -j2 && travis_wait 30 valgrind --error-exitcode=42 ./tests 8; fi + - # travis_wait extends the 10 minutes without output allowed (https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received) + - # the `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (http://valgrind.org/docs/manual/manual-core.html) + - if [ -n "$VALGRIND" ]; then + make -j2 && + travis_wait 30 valgrind --error-exitcode=42 ./tests 16 && + travis_wait 30 valgrind --error-exitcode=42 ./exhaustive_tests; + fi