From 1b2e3b8bffce0df580a9c8228cb39b823547bf11 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Thu, 7 Apr 2022 12:45:13 +0200 Subject: [PATCH] test: ignore missing coverage in TEST-02 Since c6552ad we now try to collect coverage even in situations where it's basically impossible (like in test-mount-util where the whole / is mounted as read-only). As dealing with this is not worth the trouble, let's ignore the missing coverage errors thrown by gcov in such cases. --- test/TEST-02-UNITTESTS/test.sh | 4 ++++ test/test-functions | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/TEST-02-UNITTESTS/test.sh b/test/TEST-02-UNITTESTS/test.sh index 571abe41c33..80cb82a50d1 100755 --- a/test/TEST-02-UNITTESTS/test.sh +++ b/test/TEST-02-UNITTESTS/test.sh @@ -4,6 +4,10 @@ set -e TEST_DESCRIPTION="Run unit tests under containers" RUN_IN_UNPRIVILEGED_CONTAINER=yes +# Some tests make collecting coverage impossible (like test-mount-util, which +# remounts the whole / as read-only), so let's ignore the gcov errors in such +# case +IGNORE_MISSING_COVERAGE=yes # embed some newlines in the kernel command line to stress our test suite KERNEL_APPEND=" diff --git a/test/test-functions b/test/test-functions index c734a15ca91..47eae9f0cbd 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1406,8 +1406,8 @@ check_coverage_reports() { # 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 + if ! get_bool "${IGNORE_MISSING_COVERAGE:=}" && \ + "${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