shithub: dav1d

Download patch

ref: f1d6eb934aa11bfb3c0093ab3920c09a0b19bc10
parent: 623132aca27c4d637b25c098f8b43d5e4eaeda7a
author: Janne Grunau <[email protected]>
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