mirror of
https://github.com/redis/RedisDesktopManager.git
synced 2026-10-18 13:11:29 +08:00
34 lines
1.2 KiB
Bash
Executable File
34 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
ROOT_DIR=`readlink -f ./../../`
|
|
BASE_DIR=`pwd`
|
|
OBJ_DIR=$ROOT_DIR/bin/tests/obj
|
|
|
|
#Build
|
|
export LDFLAGS="-lgcov -fprofile-arcs"
|
|
export CPPFLAGS="-fprofile-arcs -ftest-coverage"
|
|
rm -fR $ROOT_DIR/bin coverage*
|
|
qmake && make -sj 4
|
|
|
|
# Generate coverage files for all files
|
|
lcov --base-directory $BASE_DIR --capture --initial --directory $OBJ_DIR --output-file coverage.info.base
|
|
|
|
# Run tests
|
|
$ROOT_DIR/bin/tests/tests
|
|
|
|
# Generate coverage files for files used in tests
|
|
lcov --capture --directory $OBJ_DIR --base-directory $BASE_DIR --output-file coverage.info.run
|
|
# Merge result
|
|
lcov -a coverage.info.base -a coverage.info.run -o coverage.info
|
|
|
|
# Remove unit tests and external files to get clean report
|
|
lcov -e coverage.info "$ROOT_DIR/*" -o coverage.info.filtered
|
|
lcov -r coverage.info.filtered "$ROOT_DIR/tests/*" -o coverage.info.filtered
|
|
lcov -r coverage.info.filtered "$ROOT_DIR/bin/*" -o coverage.info.filtered
|
|
lcov -r coverage.info.filtered "$ROOT_DIR/3rdparty/*" -o coverage.info.filtered
|
|
|
|
# Generate HTML report
|
|
rm -fR coverage_report || true
|
|
mkdir coverage_report
|
|
genhtml coverage.info.filtered --output-directory coverage_report
|
|
open coverage_report/index.html
|