Skip to content

Commit

Permalink
[tests] Fix coverage issue
Browse files Browse the repository at this point in the history
  • Loading branch information
mssun committed Feb 19, 2020
1 parent f2abc8a commit 587edef
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 3 deletions.
14 changes: 11 additions & 3 deletions cmake/scripts/gen_cov.sh
Expand Up @@ -7,14 +7,19 @@ done

LCOV=lcov
LCOVOPT="--gcov-tool ${MESATEE_PROJECT_ROOT}/cmake/scripts/llvm-gcov"
LCOV_REALPATH="${MESATEE_PROJECT_ROOT}/cmake/scripts/lcov_realpath.py"
GENHTML=genhtml

cd ${MESATEE_PROJECT_ROOT}
find . \( -name "*.gcda" -and \( ! -name "teaclave*" \) \) -exec rm {} \;
find . \( -name "*.gcda" -and \( ! -name "teaclave*" \
-and ! -name "sgx_cov*" \
-and ! -name "rusty_leveldb*" \
-and ! -name "sgx_tprotected_fs*" \
-and ! -name "protected_fs*" \) \) -exec rm {} \;
cd ${MESATEE_PROJECT_ROOT} && \
for tag in `find ${MESATEE_PROJECT_ROOT} -name sgx_cov*.gcda | cut -d'.' -f2`; \
do mkdir -p ${MESATEE_OUT_DIR}/cov_$tag && \
find ${MESATEE_TARGET_DIR} -name *$tag* -exec mv {} ${MESATEE_OUT_DIR}/cov_$tag/ \; ; \
find ${MESATEE_TARGET_DIR} -name *$tag* -exec cp {} ${MESATEE_OUT_DIR}/cov_$tag/ \; ; \
${LCOV} ${LCOVOPT} --capture \
--directory ${MESATEE_OUT_DIR}/cov_$tag/ --base-directory . \
-o ${MESATEE_OUT_DIR}/modules_$tag.info; done 2>/dev/null
Expand All @@ -26,8 +31,11 @@ cd ${MESATEE_OUT_DIR} && ${LCOV} ${LCOVOPT} $(for tag in \
`find ${MESATEE_PROJECT_ROOT} -name sgx_cov*.gcda | cut -d'.' -f2`; \
do echo "--add modules_$tag.info"; done) \
--add modules.info -o merged.info
${LCOV} ${LCOVOPT} --extract ${MESATEE_OUT_DIR}/merged.info \
cd ${MESATEE_OUT_DIR} && python ${LCOV_REALPATH} merged.info > merged_realpath.info
${LCOV} ${LCOVOPT} --extract ${MESATEE_OUT_DIR}/merged_realpath.info \
`find ${MESATEE_PROJECT_ROOT} -path ${MESATEE_PROJECT_ROOT}/third_party -prune -o \
-path ${MESATEE_PROJECT_ROOT}/build -prune -o \
-path ${MESATEE_PROJECT_ROOT}/tests -prune -o \
-name "*.rs"` -o cov.info
${GENHTML} --branch-coverage --demangle-cpp --legend cov.info \
-o cov_report --ignore-errors source
10 changes: 10 additions & 0 deletions cmake/scripts/lcov_realpath.py
@@ -0,0 +1,10 @@
import os
import sys

with open(sys.argv[1]) as f:
for l in f:
if l.startswith("SF:"):
realpath = os.path.realpath(l[3:])
print "SF:" + realpath,
else:
print l,
1 change: 1 addition & 0 deletions tests/functional/app/src/main.rs
Expand Up @@ -25,6 +25,7 @@ fn main() -> anyhow::Result<()> {
env_logger::init();
let tee = TeeBinder::new(env!("CARGO_PKG_NAME"))?;
run(&tee)?;
tee.finalize();

Ok(())
}
Expand Down
1 change: 1 addition & 0 deletions tests/integration/app/src/main.rs
Expand Up @@ -25,6 +25,7 @@ fn main() -> anyhow::Result<()> {
env_logger::init();
let tee = TeeBinder::new(env!("CARGO_PKG_NAME"))?;
run(&tee)?;
tee.finalize();

Ok(())
}
Expand Down
1 change: 1 addition & 0 deletions tests/unit/app/src/main.rs
Expand Up @@ -25,6 +25,7 @@ fn main() -> anyhow::Result<()> {
env_logger::init();
let tee = TeeBinder::new(env!("CARGO_PKG_NAME"))?;
run(&tee)?;
tee.finalize();

Ok(())
}
Expand Down

0 comments on commit 587edef

Please sign in to comment.