-
Notifications
You must be signed in to change notification settings - Fork 85
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
51 changed files
with
479 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
.* | ||
cmake-build* | ||
*~ | ||
a.out | ||
*.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,154 @@ | ||
language: cpp | ||
#dist: trusty | ||
sudo: required | ||
dist: trusty | ||
|
||
matrix: | ||
include: | ||
- os: linux | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
- llvm-toolchain-precise-3.7 | ||
- ppa:george-edison55/cmake-3.x | ||
packages: | ||
- g++-6 | ||
- clang-3.7 | ||
- llvm-3.7-runtime | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER="clang++-3.7" | ||
before_script: | ||
# The clang runtime for the address sanitizer is missing from the | ||
# apt, hence the downloaded tarballs. | ||
|
||
- wget http://llvm.org/releases/3.7.1/clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz | ||
- tar -xvf clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz | ||
- sudo cp -n clang+llvm-3.7.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.7.1/lib/linux/*.a /usr/lib/llvm-3.7/lib/clang/3.7.1/lib/linux/ | ||
- CXX=${COMPILER} ./check_errors.sh | ||
- mkdir build && cd build | ||
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true .. | ||
- make VERBOSE=1 self_test kcov | ||
|
||
- os: linux | ||
compiler: gcc | ||
addons: | ||
apt: | ||
sources: ['ubuntu-toolchain-r-test'] | ||
packages: ['g++-4.9', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb'] | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
- llvm-toolchain-trusty-3.8 | ||
packages: | ||
- g++-6 | ||
- clang-3.8 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER=g++-4.9 | ||
- WARNINGS="-Wall -Wextra -pedantic" | ||
- SANITIZERS="-fsanitize=address,undefined" | ||
- COMPILER="clang++-3.8" | ||
|
||
- os: linux | ||
compiler: gcc | ||
addons: | ||
apt: | ||
sources: ['ubuntu-toolchain-r-test'] | ||
packages: ['g++-5', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb'] | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
- llvm-toolchain-precise-3.9 | ||
packages: | ||
- g++-6 | ||
- clang-3.9 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER=g++-5 | ||
- WARNINGS="-Wall -Wextra -pedantic" | ||
- SANITIZERS="-fsanitize=undefined" | ||
- COMPILER="clang++-3.9" | ||
before_script: | ||
# Unlike with clang++-3.7, the runtime libraries exists with 3.9, | ||
# but still doesn't work because of gold linker version incompatibility. | ||
# The tarball download takes care of that. | ||
|
||
- wget http://llvm.org/releases/3.9.1/clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz | ||
- tar -xvf clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04.tar.xz | ||
- sudo cp clang+llvm-3.9.1-x86_64-linux-gnu-ubuntu-14.04/lib/clang/3.9.1/lib/linux/*.a /usr/lib/llvm-3.9/lib/clang/3.9.1/lib/linux/ | ||
- CXX=${COMPILER} ./check_errors.sh | ||
- mkdir build && cd build | ||
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true .. | ||
- make VERBOSE=1 self_test kcov | ||
|
||
- os: linux | ||
compiler: gcc | ||
addons: | ||
apt: | ||
sources: ['ubuntu-toolchain-r-test'] | ||
packages: ['g++-6', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb'] | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
- llvm-toolchain-trusty-4.0 | ||
packages: | ||
- g++-6 | ||
- clang-4.0 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER=g++-6 | ||
- WARNINGS="-Wall -Wextra -pedantic -Wmisleading-indentation" | ||
- SANITIZERS="-fsanitize=undefined" | ||
- COMPILER="clang++-4.0" | ||
|
||
- os: linux | ||
compiler: clang | ||
addons: | ||
apt: | ||
sources: ['llvm-toolchain-precise-3.7', 'ubuntu-toolchain-r-test'] | ||
packages: ['clang-3.7', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb'] | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- g++-4.9 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER=clang++-3.7 | ||
- WARNINGS="-Weverything -Wno-c++98-compat-pedantic -Wno-padded -Wno-weak-vtables -Wno-exit-time-destructors" | ||
- COMPILER="g++-4.9" | ||
|
||
- os: linux | ||
compiler: clang | ||
addons: | ||
apt: | ||
sources: ['llvm-toolchain-precise-3.8', 'ubuntu-toolchain-r-test'] | ||
packages: ['clang-3.8', 'libcurl4-openssl-dev', 'libelf-dev', 'libdw-dev', 'cmake', 'gdb'] | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- g++-5 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER=clang++-3.8 | ||
- WARNINGS="-Weverything -Wno-c++98-compat-pedantic -Wno-padded -Wno-weak-vtables -Wno-exit-time-destructors" | ||
- SANITIZERS="-fsanitize=undefined,address" | ||
- COMPILER="g++-5" | ||
|
||
- os: linux | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- g++-6 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER="g++-6" | ||
|
||
- os: linux | ||
addons: | ||
apt: | ||
sources: | ||
- ubuntu-toolchain-r-test | ||
packages: | ||
- g++-7 | ||
- libcurl4-openssl-dev | ||
- libelf-dev | ||
- libdw-dev | ||
env: | ||
- COMPILER="g++-7" | ||
|
||
before_script: | ||
CXX=$COMPILER ./check_errors.sh | ||
- CXX=${COMPILER} ./check_errors.sh | ||
- mkdir build && cd build | ||
- CXX=${COMPILER} cmake -DCMAKE_BUILD_TYPE=Debug -DTRAVIS_JOB_ID='${TRAVIS_JOB_ID}' -DSANITIZE=true .. | ||
- make VERBOSE=1 self_test kcov | ||
|
||
script: | ||
wget https://github.com/philsquared/Catch/archive/V1.5.0.tar.gz && tar xfz V1.5.0.tar.gz && make CXX=$COMPILER CXXFLAGS="${WARNINGS} ${SANITIZERS} ${CXXFLAGS} -std=c++14 -I Catch-1.5.0/include -g ${CPPFLAGS}" -f Makefile.travis | ||
make run_self_test | ||
|
||
after_success: | ||
make clean -f Makefile.travis && make CXX=$COMPILER CXXFLAGS="-std=c++14 ${STDLIB} -I Catch-1.5.0/include -g" -f Makefile.travis && wget https://github.com/SimonKagstrom/kcov/archive/master.zip && unzip master.zip && mv kcov-master kcov && mkdir kcov/build && cd kcov/build && cmake -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=Release .. && make && make install DESTDIR=../built && cd ../.. && ./kcov/built/usr/local/bin/kcov --skip-solibs --include-pattern=trompeloeil.hpp --coveralls-id=${TRAVIS_JOB_ID} ./cov ./self_test -s | ||
make VERBOSE=1 run_coverage |
Oops, something went wrong.