Add code coverage reporting

This commit is contained in:
Wesley Moore 2019-01-14 11:03:14 +11:00
parent ca93d12c91
commit aa89922904
No known key found for this signature in database
GPG key ID: BF67766C0BC2D0EE
2 changed files with 37 additions and 0 deletions

View file

@ -8,3 +8,15 @@ rust:
matrix: matrix:
allow_failures: allow_failures:
- rust: beta - rust: beta
addons:
apt:
packages:
- binutils-dev
- libcurl4-openssl-dev
- zlib1g-dev
- libdw-dev
- libiberty-dev
after_success:
- ci/upload-coverage

25
ci/upload-coverage Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
KCOV_VERSION="36"
CRATE=ssd1675
set -e
curl -OL "https://github.com/SimonKagstrom/kcov/archive/v$KCOV_VERSION.tar.gz"
tar zxf "v$KCOV_VERSION.tar.gz"
cd "kcov-$KCOV_VERSION"
mkdir build
cd build
cmake ..
make
make install DESTDIR=../../kcov-build
cd ../..
rm -rf "kcov-$KCOV_VERSION"
for file in target/debug/"$CRATE"-*[^\.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"