should be it
This commit is contained in:
27
external/duckdb/scripts/coverage_check.sh
vendored
Executable file
27
external/duckdb/scripts/coverage_check.sh
vendored
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# prepare coverage file
|
||||
lcov --config-file .github/workflows/lcovrc --zerocounters --directory .
|
||||
lcov --config-file .github/workflows/lcovrc --capture --initial --directory . --base-directory . --no-external --output-file coverage.info
|
||||
|
||||
# build with coverage enabled
|
||||
mkdir -p build/coverage
|
||||
(cd build/coverage && cmake -E env CXXFLAGS="--coverage" cmake -DBUILD_EXTENSIONS="parquet;json;jemalloc;autocomplete;icu" -DENABLE_SANITIZER=0 -DCMAKE_BUILD_TYPE=Debug ../.. && cmake --build .)
|
||||
|
||||
# run tests
|
||||
build/coverage/test/unittest
|
||||
build/coverage/test/unittest "[detailed_profiler]"
|
||||
build/coverage/test/unittest test/sql/tpch/tpch_sf01.test_slow
|
||||
python3 -m pytest --shell-binary build/coverage/duckdb tools/shell/tests/
|
||||
|
||||
# finalize coverage file
|
||||
lcov --config-file .github/workflows/lcovrc --directory . --base-directory . --no-external --capture --output-file coverage.info
|
||||
lcov --config-file .github/workflows/lcovrc --remove coverage.info $(< .github/workflows/lcov_exclude) -o lcov.info
|
||||
|
||||
# generate coverage html
|
||||
genhtml -o coverage_html lcov.info
|
||||
|
||||
# check that coverage passes threshold
|
||||
# python3 scripts/check_coverage.py
|
||||
Reference in New Issue
Block a user