ci: fix coverage and valgrind jobs, skip fork tests under valgrind

- Install lcov in coverage job (not in fastsync-ci:v7)
- Use lcov 2.x compatible flags (--branch-coverage instead of --rc)
- Remove unused xxhash exclude pattern that lcov 2.x rejects
- Install valgrind in valgrind job
- Skip fork-based file tests under valgrind (pipe timing issues)
- Add FASTSYNC_UNDER_VALGRIND env var for test skip detection
- Move cleanup before assertions in fork tests to prevent leaks
- Add coverage.info to .gitignore
This commit is contained in:
2026-07-19 20:16:48 +02:00
parent 7c6e69ad81
commit e9ab84b5ea
3 changed files with 16 additions and 10 deletions
+4 -2
View File
@@ -79,7 +79,7 @@ jobs:
- name: Coverage Report
run: |
lcov --capture --directory build --output-file coverage.info --branch-coverage
lcov --remove coverage.info '/usr/*' '*/tests/*' '*/xxhash/*' --output-file coverage.info --branch-coverage
lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info --branch-coverage --ignore-errors unused
lcov --list coverage.info
valgrind:
@@ -100,4 +100,6 @@ jobs:
run: cmake --build build -j$(nproc)
- name: Valgrind Memcheck
run: valgrind --leak-check=full --show-leak-kinds=all --error-exitcode=1 ./build/tests
run: valgrind --leak-check=full --show-leak-kinds=definite --error-exitcode=1 ./build/tests
env:
FASTSYNC_UNDER_VALGRIND: "1"