File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -25,22 +25,48 @@ jobs:
2525 diffutils \
2626 xmlto \
2727 libpcre2-dev \
28- gnulib
28+ gnulib \
29+ lcov
2930
3031 - name : Bootstrap
3132 run : ./bootstrap
3233
3334 - name : Configure
3435 run : |
3536 ./configure \
36- --with-pcre2
37+ --with-pcre2 \
38+ CFLAGS="--coverage -g -O0" \
39+ LDFLAGS="--coverage"
3740
3841 - name : Build
3942 run : make -j$(nproc)
4043
4144 - name : Run tests
4245 run : make check
4346
47+ - name : Generate coverage report
48+ run : |
49+ # Create coverage directory
50+ mkdir -p coverage
51+
52+ # Capture coverage data with geninfo options to handle warnings
53+ lcov --capture --directory . --output-file coverage/coverage.info --rc geninfo_unexecuted_blocks=1
54+
55+ # Remove coverage data for system headers, lib files, and test files
56+ lcov --remove coverage/coverage.info '/usr/*' '*/lib/*' '*/tests/*' --output-file coverage/coverage_filtered.info
57+
58+ # Generate HTML report
59+ genhtml coverage/coverage_filtered.info --output-directory coverage/html
60+
61+ # Generate summary for CI
62+ lcov --summary coverage/coverage_filtered.info
63+
64+ - name : Upload coverage reports
65+ uses : actions/upload-artifact@v4
66+ with :
67+ name : coverage-report
68+ path : coverage/
69+
4470 - name : Show test results on failure
4571 if : failure()
4672 run : |
You can’t perform that action at this time.
0 commit comments