From nobody Thu Apr 25 05:24:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1565280860; cv=none; d=zoho.com; s=zohoarc; b=Zp3gI6Cw0F0KM1WdRxuFRYwFMdvCkwmTxPtsIsAImgsj64eYzOxVEg/aiuLK0cCbRDc/VQOp2H4nhXVHVyNRvEj7xtpU+OygU5Dz+JFAf9ebgkQprO097WtqCS45VNpc2Ze6+c8jWQpEUvH1pTNF/5UAxIO4RtdQAbaADemc1uE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1565280860; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=fb9oD+DuJx79sPWmUPSvRUiiarMwXqtMo2ug+Ogtrq8=; b=dfIttK3oCEW9Q8qMNLBu8+W08uksJDSnc0h+WlElDZVjTAQ1smoygLC0lF07yLnpzxh6aH1tbGFfkQlUH0TyuI0+2GIsyjY2IbquxaM8Phe6cCMcKDUaoCU7R7aLUflwo+7hzg2iBAU9IY2pwK1plELhtKOcP4Jb0afqyMOTL4A= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1565280860358865.672526117693; Thu, 8 Aug 2019 09:14:20 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 487A476532; Thu, 8 Aug 2019 16:14:18 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C574F5C21F; Thu, 8 Aug 2019 16:14:17 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 042A91806B00; Thu, 8 Aug 2019 16:14:15 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x78GCscp009449 for ; Thu, 8 Aug 2019 12:12:54 -0400 Received: by smtp.corp.redhat.com (Postfix) id 23DE810016EB; Thu, 8 Aug 2019 16:12:54 +0000 (UTC) Received: from virval.usersys.redhat.com (unknown [10.43.2.188]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C90C4100EBA3 for ; Thu, 8 Aug 2019 16:12:51 +0000 (UTC) Received: by virval.usersys.redhat.com (Postfix, from userid 500) id F25F9102519; Thu, 8 Aug 2019 18:12:49 +0200 (CEST) From: Jiri Denemark To: libvir-list@redhat.com Date: Thu, 8 Aug 2019 18:12:48 +0200 Message-Id: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH] Revert "configure: Remove --enable-test-coverage" X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Thu, 08 Aug 2019 16:14:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" This reverts commit f38d553e2d6ec2f041cb7947b5eafcdd3b26ae65. Gnulib's make coverage (or init-coverage, build-coverage, gen-coverage) is not a 1-1 replacement for the original configure option. Our old --enable-test-coverage seems to be close to gnulib's make build-coverage except gnulib runs lcov in that phase and the build actually fails for me even before lcov is run. And since we want to be able to just build libvirt without running lcov, I suggest reverting to our own implementation. Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- Notes: I admit the best solution would be to somehow make gnulib support what we need (and fix the actual build), but I don't feel brave enough to do that. Eric? :-) =20 Also if we ever switch to glib and drop gnulib completely, we would need to reintroduce our own implementation anyway. Makefile.am | 20 +++++++++++++++++--- configure.ac | 18 ++++++++++++++++++ src/Makefile.am | 3 ++- src/remote/Makefile.inc.am | 2 ++ tests/Makefile.am | 2 ++ tools/Makefile.am | 6 ++++++ 6 files changed, 47 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index dedd8d2ff8..27c49280c4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,15 +16,15 @@ ## License along with this library. If not, see ## . =20 +LCOV =3D lcov +GENHTML =3D genhtml + SUBDIRS =3D . gnulib/lib include/libvirt src tools docs gnulib/tests \ tests po examples =20 XZ_OPT ?=3D -v -T0 export XZ_OPT =20 -# have gnulib 'make coverage' output to 'cov' dir -COVERAGE_OUT =3D "cov" - ACLOCAL_AMFLAGS =3D -I m4 =20 EXTRA_DIST =3D \ @@ -87,6 +87,20 @@ check-local: all tests check-access: all @($(MAKE) $(AM_MAKEFLAGS) -C tests check-access) =20 +cov: clean-cov + $(MKDIR_P) $(top_builddir)/coverage + $(LCOV) -c -o $(top_builddir)/coverage/libvirt.info.tmp \ + -d $(top_builddir)/src \ + -d $(top_builddir)/tests + $(LCOV) -r $(top_builddir)/coverage/libvirt.info.tmp \ + -o $(top_builddir)/coverage/libvirt.info + rm $(top_builddir)/coverage/libvirt.info.tmp + $(GENHTML) --show-details -t "libvirt" -o $(top_builddir)/coverage \ + --legend $(top_builddir)/coverage/libvirt.info + +clean-cov: + rm -rf $(top_builddir)/coverage + MAINTAINERCLEANFILES =3D .git-module-status =20 dist-hook: gen-AUTHORS diff --git a/configure.ac b/configure.ac index ebb2e24e21..f41c6d5d86 100644 --- a/configure.ac +++ b/configure.ac @@ -726,6 +726,23 @@ fi AC_SUBST([VIR_TEST_EXPENSIVE_DEFAULT]) AM_CONDITIONAL([WITH_EXPENSIVE_TESTS], [test $VIR_TEST_EXPENSIVE_DEFAULT = =3D 1]) =20 +LIBVIRT_ARG_ENABLE([TEST_COVERAGE], [turn on code coverage instrumentation= ], [no]) +case "$enable_test_coverage" in + yes|no) ;; + *) AC_MSG_ERROR([bad value ${enable_test_coverga} for test-coverage opti= on]) ;; +esac + +if test "$enable_test_coverage" =3D yes; then + save_WARN_CFLAGS=3D$WARN_CFLAGS + WARN_CFLAGS=3D + gl_WARN_ADD([-fprofile-arcs]) + gl_WARN_ADD([-ftest-coverage]) + COVERAGE_FLAGS=3D$WARN_CFLAGS + AC_SUBST([COVERAGE_CFLAGS], [$COVERAGE_FLAGS]) + AC_SUBST([COVERAGE_LDFLAGS], [$COVERAGE_FLAGS]) + WARN_CFLAGS=3D$save_WARN_CFLAGS +fi + LIBVIRT_ARG_ENABLE([TEST_OOM], [memory allocation failure checking], [no]) case "$enable_test_oom" in yes|no) ;; @@ -1011,6 +1028,7 @@ LIBVIRT_WIN_RESULT_WINDRES AC_MSG_NOTICE([]) AC_MSG_NOTICE([Test suite]) AC_MSG_NOTICE([]) +AC_MSG_NOTICE([ Coverage: $enable_test_coverage]) AC_MSG_NOTICE([ Alloc OOM: $enable_test_oom]) AC_MSG_NOTICE([]) AC_MSG_NOTICE([Miscellaneous]) diff --git a/src/Makefile.am b/src/Makefile.am index f111b2a1b4..5ddc06f629 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -37,8 +37,9 @@ AM_CFLAGS =3D $(LIBXML_CFLAGS) \ $(WARN_CFLAGS) \ $(LOCK_CHECKING_CFLAGS) \ $(WIN32_EXTRA_CFLAGS) \ - $(NULL) + $(COVERAGE_CFLAGS) AM_LDFLAGS =3D $(DRIVER_MODULES_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(RELRO_LDFLAGS) \ $(NO_INDIRECT_LDFLAGS) \ $(CYGWIN_EXTRA_LDFLAGS) \ diff --git a/src/remote/Makefile.inc.am b/src/remote/Makefile.inc.am index 0cf00cb902..4d3a450461 100644 --- a/src/remote/Makefile.inc.am +++ b/src/remote/Makefile.inc.am @@ -145,6 +145,7 @@ libvirtd_CFLAGS =3D \ $(LIBNL_CFLAGS) \ $(WARN_CFLAGS) \ $(PIE_CFLAGS) \ + $(COVERAGE_CFLAGS) \ -I$(srcdir)/access \ -I$(srcdir)/conf \ -I$(srcdir)/rpc \ @@ -153,6 +154,7 @@ libvirtd_CFLAGS =3D \ libvirtd_LDFLAGS =3D \ $(RELRO_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(NO_INDIRECT_LDFLAGS) \ $(NO_UNDEFINED_LDFLAGS) \ $(NULL) diff --git a/tests/Makefile.am b/tests/Makefile.am index 1c92e3ca6f..23e7c422ea 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -41,6 +41,7 @@ AM_CFLAGS =3D \ $(SELINUX_CFLAGS) \ $(APPARMOR_CFLAGS) \ $(YAJL_CFLAGS) \ + $(COVERAGE_CFLAGS) \ $(XDR_CFLAGS) \ $(WARN_CFLAGS) =20 @@ -267,6 +268,7 @@ endif WITH_SECDRIVER_SELINUX =20 # This is a fake SSH we use from virnetsockettest ssh_SOURCES =3D ssh.c +ssh_LDADD =3D $(COVERAGE_LDFLAGS) =20 if WITH_LIBXL test_programs +=3D xlconfigtest \ diff --git a/tools/Makefile.am b/tools/Makefile.am index df3d628bab..9cf6baf35b 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -33,6 +33,7 @@ WARN_CFLAGS +=3D $(STRICT_FRAME_LIMIT_CFLAGS) =20 AM_CFLAGS =3D \ $(WARN_CFLAGS) \ + $(COVERAGE_CFLAGS) \ $(PIE_CFLAGS) \ $(LIBXML_CFLAGS) \ $(NULL) @@ -143,6 +144,7 @@ libvirt_shell_la_CFLAGS =3D \ libvirt_shell_la_LDFLAGS =3D \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(NULL) libvirt_shell_la_LIBADD =3D \ ../src/libvirt.la \ @@ -188,6 +190,7 @@ endif ! WITH_BHYVE virt_host_validate_LDFLAGS =3D \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(NULL) =20 virt_host_validate_LDADD =3D \ @@ -213,6 +216,7 @@ virt_login_shell_helper_SOURCES =3D \ virt_login_shell_helper_LDFLAGS =3D \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(NULL) virt_login_shell_helper_LDADD =3D \ ../src/libvirt.la \ @@ -245,6 +249,7 @@ virsh_SOURCES =3D \ virsh_LDFLAGS =3D \ $(AM_LDFLAGS) \ $(PIE_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(NULL) virsh_LDADD =3D \ $(STATIC_BINARIES) \ @@ -262,6 +267,7 @@ virt_admin_SOURCES =3D \ =20 virt_admin_LDFLAGS =3D \ $(AM_LDFLAGS) \ + $(COVERAGE_LDFLAGS) \ $(STATIC_BINARIES) \ $(PIE_LDFLAGS) \ $(NULL) --=20 2.22.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list