ref: f1d6eb934aa11bfb3c0093ab3920c09a0b19bc10
parent: 623132aca27c4d637b25c098f8b43d5e4eaeda7a
author: Janne Grunau <janne-vlc@jannau.net>
date: Wed Nov 14 09:38:21 EST 2018
CI: add asan/msan/ubsan test jobs for oss-fuzz regression testing
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -122,3 +122,62 @@
- meson build --buildtype release -Dtestdata_tests=true
- ninja -C build
- cd build && time meson test -v
+
+test-debian-asan:
+ image: registry.videolan.org:5000/dav1d-debian-unstable:20181114201132
+ stage: test
+ tags:
+ - debian
+ - amd64
+ cache:
+ key: testdata.git
+ paths:
+ - cache/dav1d-test-data.git/
+ variables:
+ ASAN_OPTIONS: 'detect_leaks=0'
+ script:
+ - test -d cache || mkdir cache
+ - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
+ - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
+ - git clone cache/dav1d-test-data.git tests/dav1d-test-data
+ - meson build --buildtype debugoptimized -Dtestdata_tests=true -Db_sanitize=address -Dbuild_asm=false
+ - ninja -C build
+ - cd build && time meson test -v
+
+test-debian-msan:
+ image: dav1d-debian-aarch64:201810300753
+ stage: test
+ tags:
+ - debian
+ - aarch64
+ cache:
+ key: testdata.git
+ paths:
+ - cache/dav1d-test-data.git/
+ script:
+ - test -d cache || mkdir cache
+ - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
+ - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
+ - git clone cache/dav1d-test-data.git tests/dav1d-test-data
+ - env CC='clang-7' meson build --buildtype debugoptimized -Dtestdata_tests=true -Db_sanitize=memory -Db_lundef=false -Dbuild_asm=false
+ - ninja -C build
+ - cd build && time meson test -v
+
+test-debian-ubsan:
+ image: registry.videolan.org:5000/dav1d-debian-unstable:20181114201132
+ stage: test
+ tags:
+ - debian
+ - amd64
+ cache:
+ key: testdata.git
+ paths:
+ - cache/dav1d-test-data.git/
+ script:
+ - test -d cache || mkdir cache
+ - test -d cache/dav1d-test-data.git && GIT_DIR=cache/dav1d-test-data.git git fetch --refmap=refs/heads/master:refs/heads/master origin master
+ - test -d cache/dav1d-test-data.git || git clone --bare https://code.videolan.org/videolan/dav1d-test-data.git cache/dav1d-test-data.git
+ - git clone cache/dav1d-test-data.git tests/dav1d-test-data
+ - env CC=clang meson build --buildtype debugoptimized -Dtestdata_tests=true -Db_sanitize=undefined -Db_lundef=false -Dbuild_asm=false
+ - ninja -C build
+ - cd build && time meson test -v