mirror of
https://github.com/systemd/systemd
synced 2024-10-14 20:17:52 +00:00
test: check for (possibly) missing test coverage
If the test logs contain lines like: ``` ...systemd-resolved[735885]: profiling:/systemd-meson-build/src/shared/libsystemd-shared-250.a.p/base-filesystem.c.gcda:Cannot open ``` it means we're possibly missing some coverage since gcov can't write the stats, usually due to the sandbox being too restrictive (e.g. ProtectSystem=yes, ProtectHome=yes) or the $BUILD_DIR being inaccessible to non-root users.
This commit is contained in:
parent
e4c822e9ac
commit
d282e57e2a
|
@ -1387,6 +1387,20 @@ check_coverage_reports() {
|
|||
lcov --remove "${dest}" -o "${dest}" '/usr/include/*' '/usr/lib/*'
|
||||
fi
|
||||
|
||||
# If the test logs contain lines like:
|
||||
#
|
||||
# ...systemd-resolved[735885]: profiling:/systemd-meson-build/src/shared/libsystemd-shared-250.a.p/base-filesystem.c.gcda:Cannot open
|
||||
#
|
||||
# it means we're possibly missing some coverage since gcov can't write the stats,
|
||||
# usually due to the sandbox being too restrictive (e.g. ProtectSystem=yes,
|
||||
# ProtectHome=yes) or the $BUILD_DIR being inaccessible to non-root users - see
|
||||
# `setfacl` stuff in install_compiled_systemd().
|
||||
|
||||
if "${JOURNALCTL:?}" -q --no-pager -D "${root:?}/var/log/journal" --grep "profiling:.+?gcda:[Cc]annot open"; then
|
||||
derror "Detected possibly missing coverage, check the journal"
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue