]> git.ipfire.org Git - thirdparty/rsync.git/commit
build: scope gcov report to rsync's own source; add coverage-all
authorAndrew Tridgell <andrew@tridgell.net>
Sun, 24 May 2026 02:39:19 +0000 (12:39 +1000)
committerAndrew Tridgell <andrew@tridgell.net>
Sun, 24 May 2026 21:44:12 +0000 (07:44 +1000)
commit2928b2742eb20fccf9a6a62d09ccdab08239b7e7
tree3aa4e521c0621a62fae8965b51f91b32a5da5d33
parentf1d5a3c8155a64fa2743e2b2594178f9eb9eaa89
build: scope gcov report to rsync's own source; add coverage-all

The coverage report counted bundled third-party code (zlib/, popt/, and the
PostgreSQL/ISC lib/ imports getaddrinfo/getpass/inet_ntop/inet_pton) that rsync
ships but does not own, muddying the percentages. Add a COVERAGE_EXCLUDE gcovr
filter (shared by all coverage targets) so the report reflects rsync's own code:
on the same data, lines 63.9%->65.5%, functions 81.4%->85.0%, branches
55.0%->56.5% (rsync's own md5/mdfour/wildmatch/etc. stay in the report).

Add 'make coverage-all': run the suite under pipe + --protocol=30 + --protocol=29
+ --use-tcp, accumulating into the shared .gcda (not cleared between runs), then
one merged scoped report -- covers the daemon/TCP and protocol-compat paths a
single pipe run misses (lines 67.6%, functions 87.6%, branches 58.6%). Also add
'make coverage-fallback' for a separate --disable-openat2 build (different .gcno,
so it can't merge with the openat2 report). CI is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Makefile.in