From 02dcea1ad9441f857c7768e2b7d304bb19fd2a0c Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Mon, 17 May 2021 20:41:15 +0200 Subject: [PATCH] ci: Make test iterations configurable and tweak for sanitizer builds --- .cirrus.yml | 9 ++++++++- ci/cirrus.sh | 6 ++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 25579d98da5e8..1ba9315f0a651 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -13,7 +13,8 @@ env: EXPERIMENTAL: no CTIMETEST: yes BENCH: yes - ITERS: 2 + TEST_ITERS: + BENCH_ITERS: 2 MAKEFLAGS: -j2 cat_logs_snippet: &CAT_LOGS @@ -162,6 +163,7 @@ task: memory: 1G env: WRAPPER_CMD: qemu-s390x + TEST_ITERS: 16 HOST: s390x-linux-gnu WITH_VALGRIND: no ECDH: yes @@ -184,6 +186,7 @@ task: memory: 1G env: WRAPPER_CMD: qemu-arm + TEST_ITERS: 16 HOST: arm-linux-gnueabihf WITH_VALGRIND: no ECDH: yes @@ -207,6 +210,7 @@ task: memory: 1G env: WRAPPER_CMD: qemu-aarch64 + TEST_ITERS: 16 HOST: aarch64-linux-gnu WITH_VALGRIND: no ECDH: yes @@ -227,6 +231,7 @@ task: memory: 1G env: WRAPPER_CMD: wine64-stable + TEST_ITERS: 16 HOST: x86_64-w64-mingw32 WITH_VALGRIND: no ECDH: yes @@ -257,6 +262,7 @@ task: env: # The `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (https://www.valgrind.org/docs/manual/manual-core.html) WRAPPER_CMD: "valgrind --error-exitcode=42" + TEST_ITERS: 16 - name: "UBSan, ASan, LSan" env: CFLAGS: "-fsanitize=undefined,address" @@ -264,6 +270,7 @@ task: UBSAN_OPTIONS: "print_stacktrace=1:halt_on_error=1" ASAN_OPTIONS: "strict_string_checks=1:detect_stack_use_after_return=1:detect_leaks=1" LSAN_OPTIONS: "use_unaligned=1" + TEST_ITERS: 32 # Try to cover many configurations with just a tiny matrix. matrix: - env: diff --git a/ci/cirrus.sh b/ci/cirrus.sh index 060335eecc693..27db1e6779fa6 100755 --- a/ci/cirrus.sh +++ b/ci/cirrus.sh @@ -32,6 +32,10 @@ file .libs/* || true # This tells `make check` to wrap test invocations. export LOG_COMPILER="$WRAPPER_CMD" +# This limits the iterations in the tests and benchmarks. +export SECP256K1_TEST_ITERS="$TEST_ITERS" +export SECP256K1_BENCH_ITERS="$BENCH_ITERS" + make "$BUILD" if [ "$BENCH" = "yes" ] @@ -42,8 +46,6 @@ then then EXEC="$EXEC $WRAPPER_CMD" fi - # This limits the iterations in the benchmarks below to ITER iterations. - export SECP256K1_BENCH_ITERS="$ITERS" { $EXEC ./bench_ecmult $EXEC ./bench_internal