]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
.gitlab-ci.yml: new ASan job with -DAGGRESSIVE_REALLOC
authorDaiki Ueno <ueno@gnu.org>
Fri, 10 Sep 2021 15:08:52 +0000 (17:08 +0200)
committerDaiki Ueno <ueno@gnu.org>
Fri, 10 Sep 2021 15:08:52 +0000 (17:08 +0200)
This would exercise the same logic currently covered with
fedora-valgrind-aggressive in each MR.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
.gitlab-ci.yml

index 946c085c708eafcd8880449d28cfe3e7da3854c8..c22fc289613d86599e2ec788fa2a15ef5f3e3310 100644 (file)
@@ -235,6 +235,41 @@ UB+ASAN-Werror.Fedora.x86_64.gcc:
   except:
     - tags
 
+# Same as UB+ASAN-Werror.Fedora.x86_64.gcc, except -DAGGRESSIVE_REALLOC is set
+UB+ASAN-Werror-aggressive.Fedora.x86_64.gcc:
+  extends:
+    - .test
+    - .fedora
+  needs:
+    - fedora/bootstrap
+  script:
+    - export UBSAN_OPTIONS=print_stacktrace=1
+    - export LSAN_OPTIONS=suppressions=$(pwd)/devel/lsan.supp
+    - export CFLAGS="-std=c99 -O1 -g -Wno-cpp -Werror -fno-omit-frame-pointer -fsanitize=undefined,bool,alignment,null,enum,bounds-strict,address,leak,nonnull-attribute -fno-sanitize-recover=all -fsanitize-address-use-after-scope -DAGGRESSIVE_REALLOC"
+    - export CXXFLAGS="$CFLAGS"
+    - dash ./configure --cache-file $CCACHE_FILE --disable-guile --disable-doc --disable-hardware-acceleration
+    - sed -i 's/-Werror/-Wno-parentheses -Werror/g' src/Makefile
+    - make -j$BUILDJOBS
+    # Use $BUILDJOBS since the fuzzers should use mainly CPU (no blocking I/O)
+    - make -j$BUILDJOBS check -C fuzz
+    - make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x1
+    - make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x2
+    - make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x4
+    - make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x8
+    - make -j$BUILDJOBS check -C fuzz GNUTLS_CPUID_OVERRIDE=0x20
+    - make -j$CHECKJOBS check -C tests
+    - dash ./configure --cache-file $CCACHE_FILE --disable-guile --disable-doc --disable-hardware-acceleration --with-default-trust-store-pkcs11="pkcs11:" --with-system-priority-file=/etc/crypto-policies/back-ends/gnutls.config --with-default-priority-string=@SYSTEM
+    - make clean
+    - sed -i 's/-Werror/-Wno-parentheses -Werror/g' src/Makefile
+    - make -j$BUILDJOBS
+    # Use $BUILDJOBS since most of the job is building all tests, then just running 4 tests
+    - make -j$BUILDJOBS check -C tests TESTS="trust-store p11-kit-load.sh priority-init2 set-default-prio" SUBDIRS=.
+  tags:
+    - shared
+    - linux
+  except:
+    - tags
+
 ##############################################################################
 ########################### Fedora pipelines #################################
 ##############################################################################