af76508fe7
This introduces a clear separation between test data and test binaries. Test data is moved into test/data, and the test binaries move into test/src. A new CMake script specific to building the tests is introduced in /test to slightly clean up the toplevel one. As well as tidying things up, this makes the next step trivial...
118 lines
2.9 KiB
YAML
118 lines
2.9 KiB
YAML
language: cpp
|
|
|
|
dist: trusty
|
|
sudo: required
|
|
|
|
# from http://stackoverflow.com/a/32127147/266378
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-4.9', 'valgrind', 'python-pip', 'python-yaml']
|
|
before_script:
|
|
- pip install --user git+git://github.com/eddyxu/cpp-coveralls.git
|
|
after_success:
|
|
- make clean
|
|
- touch src/json.hpp
|
|
- make json_unit CXXFLAGS="-fprofile-arcs -ftest-coverage -std=c++11 -lstdc++" CXX=$COMPILER
|
|
- ./json_unit "*"
|
|
- coveralls --exclude test/src/catch.hpp --exclude test/src/unit.cpp --include src/json.hpp --gcov-options '\-lp' --gcov 'gcov-4.9'
|
|
env: COMPILER=g++-4.9
|
|
|
|
- os: linux
|
|
compiler: gcc
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test']
|
|
packages: ['g++-5', 'valgrind']
|
|
env: COMPILER=g++-5
|
|
|
|
# - os: linux
|
|
# compiler: gcc
|
|
# addons:
|
|
# apt:
|
|
# sources: ['ubuntu-toolchain-r-test']
|
|
# packages: ['g++-6', 'valgrind']
|
|
# env: COMPILER=g++-6
|
|
|
|
# Clang 3.5 is not able to compile the code,
|
|
# see https://travis-ci.org/nlohmann/json/jobs/126720186
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6']
|
|
packages: ['clang-3.6', 'valgrind']
|
|
env: COMPILER=clang++-3.6
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7']
|
|
packages: ['clang-3.7', 'valgrind']
|
|
env: COMPILER=clang++-3.7
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.8']
|
|
packages: ['clang-3.8', 'valgrind']
|
|
env: COMPILER=clang++-3.8
|
|
|
|
- os: linux
|
|
compiler: clang
|
|
addons:
|
|
apt:
|
|
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise']
|
|
packages: ['clang-3.9', 'valgrind']
|
|
env: COMPILER=clang++-3.9
|
|
|
|
- os: osx
|
|
osx_image: beta-xcode6.1
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: beta-xcode6.2
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: beta-xcode6.3
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: xcode6.4
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: xcode7.1
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: xcode7.2
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
- os: osx
|
|
osx_image: xcode7.3
|
|
compiler: clang
|
|
env: COMPILER=clang
|
|
|
|
script:
|
|
- uname -a
|
|
- $COMPILER --version
|
|
- make CXX=$COMPILER CXXFLAGS="-lstdc++"
|
|
- ./json_unit "*"
|
|
- if [ `which valgrind` ]; then
|
|
valgrind --error-exitcode=1 --leak-check=full ./json_unit ;
|
|
fi
|