From 4d9cd8c49aad76e67a3302bac6a3b0904cbb1d16 Mon Sep 17 00:00:00 2001 From: Jon Gjengset Date: Thu, 22 Nov 2018 18:10:13 -0500 Subject: [PATCH] Better code coverage maybe? --- .travis.yml | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 11e50b2..bc44d3c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,26 @@ -sudo: required language: rust -# Dependencies of kcov, used by coverage + +sudo: required + +rust: + - stable + - beta + - nightly + +matrix: + allow_failures: + - rust: nightly + addons: apt: packages: - - libssl-dev + - libcurl4-openssl-dev + - libelf-dev + - libdw-dev + - cmake + - gcc + - binutils-dev + - libiberty-dev services: - docker @@ -30,8 +46,17 @@ before_install: - docker pull greenmail/standalone:1.5.8 - docker run -t -i -e GREENMAIL_OPTS='-Dgreenmail.setup.test.all -Dgreenmail.hostname=0.0.0.0 -Dgreenmail.auth.disabled -Dgreenmail.verbose' -p 3025:3025 -p 3110:3110 -p 3143:3143 -p 3465:3465 -p 3993:3993 -p 3995:3995 greenmail/standalone:1.5.8 -after_success: -- if [[ "$TRAVIS_OS_NAME" == "linux" && "$TRAVIS_RUST_VERSION" == "stable" ]]; then - bash <(curl https://raw.githubusercontent.com/xd009642/tarpaulin/master/travis-install.sh); - cargo tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID; - fi +after_success: | + wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && + tar xzf master.tar.gz && + cd kcov-master && + mkdir build && + cd build && + cmake .. && + make && + make install DESTDIR=../../kcov-build && + cd ../.. && + rm -rf kcov-master && + for file in target/debug/imap-*[^\.d]; do mkdir -p "target/cov/$(basename $file)"; ./kcov-build/usr/local/bin/kcov --exclude-pattern=/.cargo,/usr/lib --verify "target/cov/$(basename $file)" "$file"; done && + bash <(curl -s https://codecov.io/bash) && + echo "Uploaded code coverage"