From ce34b3aec240e55cebe942c2e1da0d57df05e7e9 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 11:30:33 +0200 Subject: [PATCH 01/11] Restrict running Valgrind * Activate on the develop branch * Activate on branches containing the word v-algrind (without hyphen) * Activate if the commit message contains v-algrind (without hyphen) * Run default build always with valgrind --- .travis.yml | 52 ++++++++++++++++++++++++++-------------------------- testme.sh | 24 +++++++++++++++++++----- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/.travis.yml b/.travis.yml index 358f03caf..26b046064 100644 --- a/.travis.yml +++ b/.travis.yml @@ -94,37 +94,37 @@ matrix: - gcc-multilib # GCC for the x86-64 architecture (64-bit longs and 64-bit pointers) - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-m64 --with-valgrind' - - env: BUILDOPTIONS='--with-cc=gcc-4.7 --with-m64 --with-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-m64 --with-travis-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-4.7 --with-m64 --with-travis-valgrind' addons: apt: packages: - gcc-4.7 - - env: BUILDOPTIONS='--with-cc=gcc-4.8 --with-m64 --with-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-4.8 --with-m64 --with-travis-valgrind' addons: apt: packages: - gcc-4.8 - - env: BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-travis-valgrind' addons: apt: packages: - gcc-4.9 # clang for x86-64 architecture (64-bit longs and 64-bit pointers) - - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-valgrind' + - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' addons: apt: packages: - clang-6.0 - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind' addons: apt: packages: - clang-5.0 - - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-valgrind' + - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind' addons: apt: packages: @@ -133,34 +133,34 @@ matrix: # GCC for the x86-64 architecture with restricted limb sizes # formerly started with the option "--with-low-mp" to testme.sh # but testing all three in one run took to long and timed out. - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind' # clang for the x86-64 architecture with restricted limb sizes - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind' # Test "autotuning", the automatic evaluation and setting of the Toom-Cook cut-offs. - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' # GCC for the x86-64 architecture testing against a different Bigint-implementation # with 333333 different inputs. - - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-valgrind' - - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' + - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' # clang for the x86-64 architecture testing against a different Bigint-implementation # with a better random source. - - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-valgrind' - - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' # Notifications go to diff --git a/testme.sh b/testme.sh index c8237dfe3..dbefdc020 100755 --- a/testme.sh +++ b/testme.sh @@ -61,11 +61,13 @@ _help() echo " --with-valgrind" echo " --with-valgrind=* Run in valgrind (slow!)." echo - echo " --valgrind-options Additional Valgrind options" - echo " Some of the options like e.g.:" - echo " --track-origins=yes add a lot of extra" - echo " runtime and may trigger the 30 minutes" - echo " timeout." + echo " --with-travis-valgrind Run with valgrind on Travis on specific branches." + echo + echo " --valgrind-options Additional Valgrind options" + echo " Some of the options like e.g.:" + echo " --track-origins=yes add a lot of extra" + echo " runtime and may trigger the 30 minutes" + echo " timeout." echo echo "Godmode:" echo @@ -232,6 +234,18 @@ do fi start_alive_printing ;; + --with-travis-valgrind*) + if [[ ("$TRAVIS_BRANCH" == "develop" && "$TRAVIS_PULL_REQUEST" == "false") || "$TRAVIS_BRANCH" == *"valgrind"* || "$TRAVIS_COMMIT_MESSAGE" == *"valgrind"* ]] + then + if [[ ${1#*d} != "" ]] + then + VALGRIND_BIN="${1#*=}" + else + VALGRIND_BIN="valgrind" + fi + start_alive_printing + fi + ;; --make-option=*) MAKE_OPTIONS="$MAKE_OPTIONS ${1#*=}" ;; From 01e93bb0fc82f3192cd3dcdf13501b6003b65d0c Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 21 May 2019 13:25:24 +0200 Subject: [PATCH 02/11] fix tune for non-v-algrind travis builds --- testme.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/testme.sh b/testme.sh index dbefdc020..306c67dcb 100755 --- a/testme.sh +++ b/testme.sh @@ -128,7 +128,7 @@ _runtest() # get switched off without some effort, so we just let it run twice for testing purposes _make "$1" "$2" "" echo -e "\rRun autotune $1 $2" - $_timeout ./etc/tune_it.sh > test_${suffix}.log || _die "running autotune" $? + $_timeout $TUNE_CMD > ../test_${suffix}.log || _die "running autotune" $? else _make "$1" "$2" "test_standalone" echo -e "\rRun test $1 $2" @@ -154,7 +154,7 @@ echo "autotune branch" # The shell used for /bin/sh is DASH 0.5.7-4ubuntu1 on the author's machine which fails valgrind, so # we just run on instance of etc/tune with the same options as in etc/tune_it.sh echo -e "\rRun etc/tune $1 $2 once inside valgrind" - $_timeout $VALGRIND_BIN $VALGRIND_OPTS ./etc/tune -t -r 10 -L 3 > test_${suffix}.log || _die "running etc/tune" $? + $_timeout $VALGRIND_BIN $VALGRIND_OPTS $TUNE_CMD > test_${suffix}.log || _die "running etc/tune" $? else _make "$1" "$2" "test_standalone" echo -e "\rRun test $1 $2 inside valgrind" @@ -195,6 +195,7 @@ VALGRIND_OPTS=" --leak-check=full --show-leak-kinds=all --error-exitcode=1 " #VALGRIND_OPTS="" VALGRIND_BIN="" CHECK_FORMAT="" +TUNE_CMD="./etc/tune -t -r 10 -L 3" alive_pid=0 From 5c7b9180b762f5846a39ce7585f00cb8cb5701d0 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 13:43:06 +0200 Subject: [PATCH 03/11] run tuner only once during CI --- .travis.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 26b046064..b3b79c066 100644 --- a/.travis.yml +++ b/.travis.yml @@ -143,13 +143,13 @@ matrix: - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind' # Test "autotuning", the automatic evaluation and setting of the Toom-Cook cut-offs. - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' # GCC for the x86-64 architecture testing against a different Bigint-implementation From 30361df5732cfe2d3b818bb1f231849f87bfdde0 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 21 May 2019 13:49:19 +0200 Subject: [PATCH 04/11] v-algrind and tune builds to the beginning ... as they take the longest time --- .travis.yml | 58 ++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/.travis.yml b/.travis.yml index b3b79c066..a0b11ea5d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,6 +83,35 @@ matrix: - libc6-dev-i386 - gcc-multilib + # Test "autotuning", the automatic evaluation and setting of the Toom-Cook cut-offs. + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' + #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' + + # clang for x86-64 architecture (64-bit longs and 64-bit pointers) + - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' + - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-6.0 + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-5.0 + - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-4.0 + # GCC for the x64_32 architecture (32-bit longs and 32-bit pointers) # TODO: Probably not possible to run anything in x32 in Travis # but needs to be checked to be sure. @@ -111,25 +140,6 @@ matrix: packages: - gcc-4.9 - # clang for x86-64 architecture (64-bit longs and 64-bit pointers) - - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' - - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-6.0 - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-5.0 - - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-4.0 - # GCC for the x86-64 architecture with restricted limb sizes # formerly started with the option "--with-low-mp" to testme.sh # but testing all three in one run took to long and timed out. @@ -142,16 +152,6 @@ matrix: - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind' - # Test "autotuning", the automatic evaluation and setting of the Toom-Cook cut-offs. - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=gcc-5 --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_8BIT --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind --make-option=tune' - #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' - # GCC for the x86-64 architecture testing against a different Bigint-implementation # with 333333 different inputs. - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' From f92d8f0a1290cd840abeeb5142edb6337dd634ac Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 13:54:18 +0200 Subject: [PATCH 05/11] COMPILE_DEBUG=1 for the valgrind build --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a0b11ea5d..658c9bcb4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -94,7 +94,7 @@ matrix: - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' # clang for x86-64 architecture (64-bit longs and 64-bit pointers) - - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' + - env: COMPILE_DEBUG=1 SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' addons: From e379c0f734082550661ca0fe49e08fec067b19a3 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 14:26:14 +0200 Subject: [PATCH 06/11] COMPILE_DEBUG should not disable optimizations If you additionally want to disable optimizations, define this IGNORE_SPEED macro. --- makefile_include.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/makefile_include.mk b/makefile_include.mk index aad3896dc..cae5ac7e3 100644 --- a/makefile_include.mk +++ b/makefile_include.mk @@ -71,7 +71,7 @@ endif ifdef COMPILE_DEBUG #debug CFLAGS += -g3 -else +endif ifdef COMPILE_SIZE #for size @@ -87,7 +87,6 @@ CFLAGS += -fomit-frame-pointer endif endif # COMPILE_SIZE -endif # COMPILE_DEBUG ifneq ($(findstring clang,$(CC)),) CFLAGS += -Wno-typedef-redefinition -Wno-tautological-compare -Wno-builtin-requires-header From 77b42459c553123327ab98fb91f117ac79d4fd4e Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 14:44:08 +0200 Subject: [PATCH 07/11] ok, one more - disable gcc mtest-vs-test runs, only run clang tests [skip ci] --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 658c9bcb4..afbc3a8f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -154,12 +154,12 @@ matrix: # GCC for the x86-64 architecture testing against a different Bigint-implementation # with 333333 different inputs. - - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' - - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' + #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' + #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' # clang for the x86-64 architecture testing against a different Bigint-implementation # with a better random source. - - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' From c09efffbdeffb345a8ed831819e9b333c5eaaa04 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 14:50:44 +0200 Subject: [PATCH 08/11] Run gcc 4.9 build on valgrind instead of sanitized clang build --- .travis.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index afbc3a8f1..cd9477398 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,6 +60,13 @@ matrix: # We have only one program and the variable $BUILDOPTIONS # has only the options to that program: testme.sh + # Run always with valgrind (no sanitizer, but debug info) + - env: COMPILE_DEBUG=1 BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind' + addons: + apt: + packages: + - gcc-4.9 + # Check source code format - env: BUILDOPTIONS='--format' addons: @@ -94,7 +101,7 @@ matrix: - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' # clang for x86-64 architecture (64-bit longs and 64-bit pointers) - - env: COMPILE_DEBUG=1 SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-valgrind' + - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' addons: @@ -134,11 +141,6 @@ matrix: apt: packages: - gcc-4.8 - - env: BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - gcc-4.9 # GCC for the x86-64 architecture with restricted limb sizes # formerly started with the option "--with-low-mp" to testme.sh From f8ecaf05c522837b33e1fe802e8ca73843fb970e Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 21 May 2019 14:56:01 +0200 Subject: [PATCH 09/11] ok, a last one - reorder stuff ;-) [skip ci] --- .travis.yml | 54 ++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.travis.yml b/.travis.yml index cd9477398..75bd2161e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,21 +60,21 @@ matrix: # We have only one program and the variable $BUILDOPTIONS # has only the options to that program: testme.sh - # Run always with valgrind (no sanitizer, but debug info) - - env: COMPILE_DEBUG=1 BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind' + # Check source code format + - env: BUILDOPTIONS='--format' addons: apt: packages: - - gcc-4.9 + - astyle - # Check source code format - - env: BUILDOPTIONS='--format' + # Run always with valgrind (no sanitizer, but debug info) + - env: COMPILE_DEBUG=1 BUILDOPTIONS='--with-cc=gcc-4.9 --with-m64 --with-valgrind' addons: apt: packages: - - astyle + - gcc-4.9 - # GCC for the 32-bit architecture (no valgrind yet) + # GCC for the 32-bit architecture (no valgrind) - env: BUILDOPTIONS='--with-cc=gcc-5 --with-m32' addons: apt: @@ -82,7 +82,7 @@ matrix: - libc6-dev-i386 - gcc-multilib - # clang for the 32-bit architecture (no valgrind yet) + # clang for the 32-bit architecture (no valgrind) - env: BUILDOPTIONS='--with-cc=clang-7 --with-m32' addons: apt: @@ -100,25 +100,6 @@ matrix: #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' - # clang for x86-64 architecture (64-bit longs and 64-bit pointers) - - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-6.0 - - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-5.0 - - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind' - addons: - apt: - packages: - - clang-4.0 - # GCC for the x64_32 architecture (32-bit longs and 32-bit pointers) # TODO: Probably not possible to run anything in x32 in Travis # but needs to be checked to be sure. @@ -142,6 +123,25 @@ matrix: packages: - gcc-4.8 + # clang for x86-64 architecture (64-bit longs and 64-bit pointers) + - env: SANITIZER=1 CONV_WARNINGS=relaxed BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' + - env: SANITIZER=1 CONV_WARNINGS=strict BUILDOPTIONS='--with-cc=clang-7 --with-m64 --with-travis-valgrind' + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-6.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-6.0 + - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-5.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-5.0 + - env: BUILDOPTIONS='--with-cc=clang-4.0 --with-m64 --with-travis-valgrind' + addons: + apt: + packages: + - clang-4.0 + # GCC for the x86-64 architecture with restricted limb sizes # formerly started with the option "--with-low-mp" to testme.sh # but testing all three in one run took to long and timed out. From 55ce3e350a043262b7e084cc4eb37451cf9ac487 Mon Sep 17 00:00:00 2001 From: Daniel Mendler Date: Tue, 21 May 2019 14:56:07 +0200 Subject: [PATCH 10/11] last last one - mtest with real rand on gcc, with prng on clang --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 75bd2161e..9df097cee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -157,12 +157,12 @@ matrix: # GCC for the x86-64 architecture testing against a different Bigint-implementation # with 333333 different inputs. #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' - #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' # clang for the x86-64 architecture testing against a different Bigint-implementation # with a better random source. - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' - - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + #- env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' # Notifications go to From 2555884f342da1fa5cdab16326f061fc40e6a8a1 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 21 May 2019 15:20:05 +0200 Subject: [PATCH 11/11] really last one - reorder once more so all long-running jobs start in the beginning [skip ci] --- .travis.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9df097cee..dba45d4c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -100,6 +100,18 @@ matrix: #- env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind --make-option=tune' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --with-travis-valgrind --make-option=tune' + # GCC for the x86-64 architecture testing against a different Bigint-implementation + # with 333333 different inputs. + #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' + # ... and a better random source. + - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + + # clang for the x86-64 architecture testing against a different Bigint-implementation + # with 333333 different inputs + - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' + # ... and a better random source. + #- env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' + # GCC for the x64_32 architecture (32-bit longs and 32-bit pointers) # TODO: Probably not possible to run anything in x32 in Travis # but needs to be checked to be sure. @@ -154,17 +166,6 @@ matrix: - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_16BIT --with-travis-valgrind' - env: SANITIZER=1 BUILDOPTIONS='--with-cc=clang-7 --cflags=-DMP_32BIT --with-travis-valgrind' - # GCC for the x86-64 architecture testing against a different Bigint-implementation - # with 333333 different inputs. - #- env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --with-travis-valgrind' - - env: BUILDOPTIONS='--with-cc=gcc-5 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' - - # clang for the x86-64 architecture testing against a different Bigint-implementation - # with a better random source. - - env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --with-travis-valgrind' - #- env: BUILDOPTIONS='--with-cc=clang-7 --test-vs-mtest=333333 --mtest-real-rand --with-travis-valgrind' - - # Notifications go to # An email address is also possible. notifications: