Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions test/generate_coverage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,32 @@

set -e

cd $(dirname "$0")/../
cd "$(dirname "$0")/../"
repo_root=$PWD
mkdir -p build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Debug -DPAIMON_BUILD_TESTS=ON -DPAIMON_USE_ASAN=ON -DPAIMON_GENERATE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cmake ../ -DCMAKE_BUILD_TYPE=Debug -DPAIMON_BUILD_TESTS=ON -DPAIMON_USE_ASAN=ON -DPAIMON_GENERATE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-DPAIMON_ENABLE_AVRO=ON -DPAIMON_ENABLE_ORC=ON \
-DPAIMON_ENABLE_MOSAIC=ON -DPAIMON_ENABLE_LANCE=ON -DPAIMON_ENABLE_VORTEX=ON
make -j
make test
lcov --capture --directory src/paimon --directory test --output-file coverage.info
# Keep only project implementation code in the report: drop system headers,
# third-party dependencies from the build tree and third_party/, and test
# sources (*_test.cpp, test helpers, mocks).
# Anchor exclusions to repository paths so checkout ancestors cannot match.
# PWD is the build directory; mocks outside testing/ are listed explicitly.
# Exclusion patterns can overlap or be absent, so unused patterns are nonfatal.
lcov --remove coverage.info \
'/usr/*' \
"$PWD/*" \
"$repo_root/third_party/*" \
"$repo_root/*_test.cpp" \
"$repo_root/test/*" \
"$repo_root/src/paimon/testing/*" \
"$repo_root/src/paimon/rest/mock_rest_server.*" \
--ignore-errors unused \
--output-file coverage_filtered.info
mv coverage_filtered.info coverage.info
genhtml coverage.info --output-directory coverage

ip=$(hostname -I | awk '{print $1}')
Expand Down
Loading