Skip to content

Commit 2fb91c8

Browse files
committed
Add coverage script
1 parent 578fc32 commit 2fb91c8

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
[![crates.io](https://img.shields.io/crates/v/rdkafka.svg)](https://crates.io/crates/rdkafka)
44
[![docs.rs](https://docs.rs/rdkafka/badge.svg)](https://docs.rs/rdkafka/)
55
[![Build Status](https://travis-ci.org/fede1024/rust-rdkafka.svg?branch=master)](https://travis-ci.org/fede1024/rust-rdkafka)
6+
[![coverate](https://codecov.io/gh/fede1024/rust-rdkafka/graphs/badge.svg?branch=master)](https://codecov.io/gh/fede1024/rust-rdkafka/)
67
[![Join the chat at https://gitter.im/rust-rdkafka/Lobby](https://badges.gitter.im/rust-rdkafka/Lobby.svg)](https://gitter.im/rust-rdkafka/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
78

89
A fully asynchronous, [futures]-based Kafka client library for Rust based on [librdkafka].

coverage.sh

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
GREEN='\033[0;32m'
6+
RED='\033[0;31m'
7+
NC='\033[0m' # No Color
8+
9+
EXCLUDE="/.cargo,/usr/lib,/usr/include,rdkafka-sys/librdkafka,rdkafka-sys/src/bindings,tests"
10+
TARGET="target/cov"
11+
12+
RDKAFKA_UNIT_TESTS="target/debug/rdkafka-"
13+
RDKAFKASYS_UNIT_TESTS="rdkafka-sys/target/debug/rdkafka_sys-"
14+
INTEGRATION_TESTS="target/debug/test_"
15+
16+
export RUSTFLAGS="-C link-dead-code"
17+
18+
echo -e "${GREEN}*** Clean previous coverage results and executables ***${NC}"
19+
rm -rf "$TARGET"
20+
rm -f "$RDKAFKA_UNIT_TESTS"*
21+
rm -f "$RDKAFKASYS_UNIT_TESTS"*
22+
rm -f "$INTEGRATION_TESTS"*
23+
24+
echo -e "${GREEN}*** Rebuilding tests ***${NC}"
25+
cargo test --no-run
26+
pushd rdkafka-sys && cargo test --no-run && popd
27+
28+
echo -e "${GREEN}*** Run coverage on unit tests ***${NC}"
29+
kcov --exclude-pattern="$EXCLUDE" --verify "$TARGET" "$RDKAFKA_UNIT_TESTS"*
30+
kcov --exclude-pattern="$EXCLUDE" --verify "$TARGET" "$RDKAFKASYS_UNIT_TESTS"*
31+
32+
echo -e "${GREEN}*** Run coverage on integration tests ***${NC}"
33+
34+
for test_file in `ls "$INTEGRATION_TESTS"*`
35+
do
36+
echo -e "${GREEN}Executing "$test_file"${NC}"
37+
kcov --exclude-pattern="$EXCLUDE" --verify "$TARGET" "$test_file"
38+
if [ "$?" != "0" ]; then
39+
echo -e "${RED}*** Failure during integration converage ***${NC}"
40+
exit 1
41+
fi
42+
done
43+
44+
if [ "$?" != "0" ]; then
45+
echo -e "${RED}*** Coverage failed :( ***${NC}"
46+
exit 1
47+
else
48+
echo -e "${GREEN}*** Coverage completed successfully ***${NC}"
49+
fi

readme_template

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
[![crates.io](https://img.shields.io/crates/v/rdkafka.svg)](https://crates.io/crates/rdkafka)
44
[![docs.rs](https://docs.rs/rdkafka/badge.svg)](https://docs.rs/rdkafka/)
55
[![Build Status](https://travis-ci.org/fede1024/rust-rdkafka.svg?branch=master)](https://travis-ci.org/fede1024/rust-rdkafka)
6+
[![coverate](https://codecov.io/gh/fede1024/rust-rdkafka/graphs/badge.svg?branch=master)](https://codecov.io/gh/fede1024/rust-rdkafka/)
67
[![Join the chat at https://gitter.im/rust-rdkafka/Lobby](https://badges.gitter.im/rust-rdkafka/Lobby.svg)](https://gitter.im/rust-rdkafka/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
78

89
A fully asynchronous, [futures]-based Kafka client library for Rust based on [librdkafka].

0 commit comments

Comments
 (0)