openethereum/scripts/cov.sh

33 lines
1.2 KiB
Bash
Raw Normal View History

#!/bin/bash
2016-07-11 18:30:58 +02:00
# Installing KCOV under ubuntu
# https://users.rust-lang.org/t/tutorial-how-to-collect-test-coverages-for-rust-project/650#
### Install deps
# $ sudo apt-get install libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev
#
### Compile kcov
# $ wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && tar xf master.tar.gz
# $ cd kcov-master && mkdir build && cd build
# $ cmake .. && make && sudo make install
### Running coverage
2016-07-11 19:20:48 +02:00
2016-07-12 13:25:55 +02:00
set -x
RUSTFLAGS="-C link-dead-code" cargo test --all --exclude evmjit --no-run || exit $?
KCOV_TARGET="target/cov"
2016-07-12 13:25:55 +02:00
KCOV_FLAGS="--verify"
2018-01-16 22:14:38 +01:00
EXCLUDE="/usr/lib,/usr/include,$HOME/.cargo,$HOME/.multirust,rocksdb,secp256k1"
2016-07-12 13:25:55 +02:00
mkdir -p $KCOV_TARGET
echo "Cover RUST"
2016-07-12 13:25:55 +02:00
for FILE in `find target/debug/deps ! -name "*.*"`
2018-01-16 22:14:38 +01:00
do
timeout --signal=SIGKILL 5m kcov --coveralls-id=$COVERALLS_TOKEN --exclude-pattern $EXCLUDE $KCOV_FLAGS $KCOV_TARGET $FILE
done
timeout --signal=SIGKILL 5m kcov --coveralls-id=$COVERALLS_TOKEN --exclude-pattern $EXCLUDE $KCOV_FLAGS $KCOV_TARGET target/debug/parity-*
echo "Cover JS"
cd js
npm install&&npm run test:coverage
cd ..
bash <(curl -s https://codecov.io/bash)&&
echo "Uploaded code coverage"
2016-07-12 10:30:59 +02:00
exit 0