56 lines
1.8 KiB
YAML
56 lines
1.8 KiB
YAML
language: cpp
|
|
sudo: required
|
|
dist: trusty
|
|
compiler:
|
|
- gcc
|
|
- clang
|
|
os:
|
|
- linux
|
|
- osx
|
|
matrix:
|
|
allow_failures:
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources:
|
|
# Both needed for clang 3.7
|
|
- llvm-toolchain-precise-3.7
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-3.7
|
|
- libcrypto++-dev
|
|
- libfuse-dev
|
|
install:
|
|
# Use new clang
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ] && [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
|
|
# Detect number of CPU cores
|
|
- export NUMCORES=`grep -c ^processor /proc/cpuinfo` && if [ ! -n "$NUMCORES" ]; then export NUMCORES=`sysctl -n hw.ncpu`; fi
|
|
- echo Using $NUMCORES cores
|
|
# Install dependencies
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then ./travis.install_boost.sh; fi
|
|
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then brew cask install osxfuse && brew install cryptopp; fi
|
|
# Install run_with_fuse.sh
|
|
- mkdir cmake
|
|
- cd cmake
|
|
- wget https://raw.githubusercontent.com/smessmer/travis-utils/master/run_with_fuse.sh
|
|
- chmod +x run_with_fuse.sh
|
|
- cmake --version
|
|
# Use /dev/urandom when /dev/random is accessed, because travis doesn't have enough entropy
|
|
- sudo cp -a /dev/urandom /dev/random
|
|
script:
|
|
- cmake .. -DBUILD_TESTING=on -DCMAKE_BUILD_TYPE=Debug
|
|
- make -j$NUMCORES
|
|
- ./test/gitversion/gitversion-test
|
|
- ./test/cpp-utils/cpp-utils-test
|
|
# TODO Also run on osx once fixed
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then ./run_with_fuse.sh ./test/fspp/fspp-test || exit 1; fi
|
|
- ./test/parallelaccessstore/parallelaccessstore-test
|
|
- ./test/blockstore/blockstore-test
|
|
- ./test/blobstore/blobstore-test
|
|
# TODO Also run on osx once fixed
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then ./test/cryfs/cryfs-test || exit 1; fi
|
|
- if [ "${TRAVIS_OS_NAME}" == "linux" ]; then ./test/cryfs-cli/cryfs-cli-test || exit 1; fi
|
|
after_script:
|
|
- rm run_with_fuse.sh
|