1dd0f4f6a7
Create a new build job to run fuzz regression testing in travis. Also include a suppression file to ignore known memory leaks.
129 lines
3.4 KiB
YAML
129 lines
3.4 KiB
YAML
language: cpp
|
|
|
|
before_script:
|
|
- $PYTHON -m pip download --no-deps https://github.com/libvips/pyvips/archive/$PYVIPS_VERSION.tar.gz
|
|
- tar xf $PYVIPS_VERSION.tar.gz
|
|
- $PYTHON -m pip install --user --upgrade pyvips-$PYVIPS_VERSION/[test]
|
|
- ./autogen.sh
|
|
--disable-dependency-tracking
|
|
--with-jpeg-includes=$JPEG/include
|
|
--with-jpeg-libraries=$JPEG/lib
|
|
- make -j$JOBS -s
|
|
script:
|
|
- make -j$JOBS -s -k V=0 VERBOSE=1 check
|
|
- LD_LIBRARY_PATH=$PWD/libvips/.libs
|
|
DYLD_LIBRARY_PATH=$PWD/libvips/.libs
|
|
LD_PRELOAD=$ASAN_DSO
|
|
$PYTHON -m pytest -v test/test-suite
|
|
|
|
matrix:
|
|
allow_failures:
|
|
- os: osx
|
|
- compiler: clang
|
|
fast_finish: true
|
|
include:
|
|
- os: linux
|
|
sudo: required
|
|
dist: xenial
|
|
compiler: gcc
|
|
env:
|
|
- PYTHON=python2
|
|
- PYVIPS_VERSION=master
|
|
- JPEG=/usr
|
|
- JOBS=`nproc`
|
|
cache: ccache
|
|
|
|
- os: linux
|
|
sudo: required
|
|
dist: xenial
|
|
compiler: clang
|
|
env:
|
|
- PYTHON=python2
|
|
- PYVIPS_VERSION=master
|
|
- JPEG=/usr
|
|
- JOBS=`nproc`
|
|
- CFLAGS="-fsanitize=address -fno-omit-frame-pointer -fopenmp"
|
|
- LDFLAGS="-fsanitize=address -dynamic-asan -fopenmp=libiomp5"
|
|
- ASAN_DSO=/usr/local/clang-7.0.0/lib/clang/7.0.0/lib/linux/libclang_rt.asan-x86_64.so
|
|
- LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/lsan.supp"
|
|
- FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION=1
|
|
install:
|
|
# add support for WebP
|
|
- wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebp-dev_0.6.1-2_amd64.deb
|
|
- wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebpdemux2_0.6.1-2_amd64.deb
|
|
- wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebpmux3_0.6.1-2_amd64.deb
|
|
- wget http://archive.ubuntu.com/ubuntu/pool/main/libw/libwebp/libwebp6_0.6.1-2_amd64.deb
|
|
- sudo dpkg -i *.deb
|
|
cache: ccache
|
|
|
|
- os: osx
|
|
osx_image: xcode10.1
|
|
env:
|
|
- PYTHON=python2
|
|
- PYVIPS_VERSION=master
|
|
- JPEG=/usr/local
|
|
- JOBS="`sysctl -n hw.ncpu`"
|
|
- PATH="/usr/local/opt/ccache/libexec:$PATH"
|
|
- HOMEBREW_NO_AUTO_UPDATE=1
|
|
cache: ccache
|
|
|
|
addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
# use imagemagick 6.9.7-4 instead than 6.8.9-9
|
|
- sourceline: 'ppa:opencpu/imagemagick'
|
|
# add support for HEIF files
|
|
- sourceline: 'ppa:strukturag/libheif'
|
|
- sourceline: 'ppa:strukturag/libde265'
|
|
packages:
|
|
- automake
|
|
- gtk-doc-tools
|
|
- gobject-introspection
|
|
- libfftw3-dev
|
|
- libexif-dev
|
|
- libjpeg-turbo8-dev
|
|
- libpng12-dev
|
|
- libwebp-dev
|
|
# missing on xenial, unfortunately
|
|
# - libwebpmux2
|
|
- libtiff5-dev
|
|
- libheif-dev
|
|
- libexpat1-dev
|
|
- libmagick++-dev
|
|
- bc
|
|
- libcfitsio3-dev
|
|
- libgsl0-dev
|
|
- libmatio-dev
|
|
- liborc-0.4-dev
|
|
- liblcms2-dev
|
|
- libpoppler-glib-dev
|
|
- librsvg2-dev
|
|
- libgif-dev
|
|
- libopenexr-dev
|
|
- libpango1.0-dev
|
|
- libgsf-1-dev
|
|
- libopenslide-dev
|
|
- libffi-dev
|
|
- libiomp-dev
|
|
homebrew:
|
|
packages:
|
|
- ccache
|
|
- gtk-doc
|
|
- gobject-introspection
|
|
- fftw
|
|
- libexif
|
|
- webp
|
|
- imagemagick
|
|
- cfitsio
|
|
- gsl
|
|
- libmatio
|
|
- orc
|
|
- little-cms2
|
|
- poppler
|
|
- librsvg
|
|
- openexr
|
|
- pango
|
|
- libgsf
|
|
- openslide
|