mirror of https://github.com/vitalif/e2fsprogs
Add coverage testing using gcov
To check the coverage of e2fsprogs's regression test, do the following: configure --enable-gcov make -j8 ; make -j8 check ; make coverage.txt The coverage information will be the coverage.txt and *.gcov files in the build directories. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>maint-test
parent
585bca68f8
commit
fedfb27fe5
|
@ -249,6 +249,14 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/MCONFIG \
|
||||||
@MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.in
|
@MAINTAINER_CMT@$(top_srcdir)/configure: $(top_srcdir)/configure.in
|
||||||
@MAINTAINER_CMT@ cd $(top_srcdir) && autoheader && autoconf
|
@MAINTAINER_CMT@ cd $(top_srcdir) && autoheader && autoconf
|
||||||
|
|
||||||
|
coverage.txt: Makefile $(SRCS)
|
||||||
|
if test -n "$(SRCS)"; then \
|
||||||
|
gcov -s $(top_srcdir) -o . $(SRCS) > coverage.txt 2>&1 ; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
clean::
|
||||||
|
$(RM) -f *.gcda *.gcov *.gcno coverage.txt
|
||||||
|
|
||||||
#
|
#
|
||||||
# Make depend magic...
|
# Make depend magic...
|
||||||
#
|
#
|
||||||
|
|
11
Makefile.in
11
Makefile.in
|
@ -73,10 +73,12 @@ install-libs: install-libs-recursive
|
||||||
|
|
||||||
uninstall-libs: uninstall-libs-recursive
|
uninstall-libs: uninstall-libs-recursive
|
||||||
|
|
||||||
|
coverage.txt: coverage.txt-recursive
|
||||||
|
|
||||||
check-recursive: all
|
check-recursive: all
|
||||||
|
|
||||||
TAGS clean-recursive distclean-recursive depend-recursive check-recursive \
|
TAGS clean-recursive distclean-recursive depend-recursive check-recursive \
|
||||||
mostlyclean-recursive realclean-recursive:
|
mostlyclean-recursive realclean-recursive coverage.txt-recursive:
|
||||||
@for subdir in $(SUBDIRS); do \
|
@for subdir in $(SUBDIRS); do \
|
||||||
if test -d $$subdir ; then \
|
if test -d $$subdir ; then \
|
||||||
target=`echo $@|$(SED) 's/-recursive//'`; \
|
target=`echo $@|$(SED) 's/-recursive//'`; \
|
||||||
|
@ -86,7 +88,7 @@ TAGS clean-recursive distclean-recursive depend-recursive check-recursive \
|
||||||
done
|
done
|
||||||
|
|
||||||
all-progs-recursive install-progs-recursive install-strip-progs-recursive \
|
all-progs-recursive install-progs-recursive install-strip-progs-recursive \
|
||||||
uninstall-progs-recursive: all-libs-recursive
|
uninstall-progs-recursive coverage.txt-progs-recursive: all-libs-recursive
|
||||||
@for subdir in $(PROG_SUBDIRS); do \
|
@for subdir in $(PROG_SUBDIRS); do \
|
||||||
if test -d $$subdir ; then \
|
if test -d $$subdir ; then \
|
||||||
target=`echo $@|$(SED) 's/-progs-recursive//'`; \
|
target=`echo $@|$(SED) 's/-progs-recursive//'`; \
|
||||||
|
@ -97,7 +99,8 @@ all-progs-recursive install-progs-recursive install-strip-progs-recursive \
|
||||||
|
|
||||||
all-libs-recursive install-libs-recursive install-strip-libs-recursive \
|
all-libs-recursive install-libs-recursive install-strip-libs-recursive \
|
||||||
uninstall-libs-recursive install-shlibs-libs-recursive \
|
uninstall-libs-recursive install-shlibs-libs-recursive \
|
||||||
install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive:
|
install-shlibs-strip-libs-recursive uninstall-shlibs-libs-recursive \
|
||||||
|
coverage.txt-libs-recursive:
|
||||||
@for subdir in $(LIB_SUBDIRS); do \
|
@for subdir in $(LIB_SUBDIRS); do \
|
||||||
if test -d $$subdir ; then \
|
if test -d $$subdir ; then \
|
||||||
target=`echo $@|$(SED) 's/-libs-recursive//'`; \
|
target=`echo $@|$(SED) 's/-libs-recursive//'`; \
|
||||||
|
@ -108,7 +111,7 @@ all-libs-recursive install-libs-recursive install-strip-libs-recursive \
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive mostlyclean-local
|
mostlyclean: mostlyclean-recursive mostlyclean-local
|
||||||
|
|
||||||
clean: clean-recursive clean-local clean-doc
|
clean:: clean-recursive clean-local clean-doc
|
||||||
$(RM) -f $(SUBS)
|
$(RM) -f $(SUBS)
|
||||||
|
|
||||||
distclean: distclean-doc distclean-recursive
|
distclean: distclean-doc distclean-recursive
|
||||||
|
|
|
@ -836,6 +836,7 @@ enable_htree
|
||||||
enable_elf_shlibs
|
enable_elf_shlibs
|
||||||
enable_bsd_shlibs
|
enable_bsd_shlibs
|
||||||
enable_profile
|
enable_profile
|
||||||
|
enable_gcov
|
||||||
enable_checker
|
enable_checker
|
||||||
enable_jbd_debug
|
enable_jbd_debug
|
||||||
enable_blkid_debug
|
enable_blkid_debug
|
||||||
|
@ -1492,6 +1493,7 @@ Optional Features:
|
||||||
--enable-elf-shlibs select ELF shared libraries
|
--enable-elf-shlibs select ELF shared libraries
|
||||||
--enable-bsd-shlibs select BSD shared libraries
|
--enable-bsd-shlibs select BSD shared libraries
|
||||||
--enable-profile build profiling libraries
|
--enable-profile build profiling libraries
|
||||||
|
--enable-gcov build for coverage testing using gcov
|
||||||
--enable-checker build checker libraries
|
--enable-checker build checker libraries
|
||||||
--enable-jbd-debug enable journal debugging
|
--enable-jbd-debug enable journal debugging
|
||||||
--enable-blkid-debug enable blkid debugging
|
--enable-blkid-debug enable blkid debugging
|
||||||
|
@ -4677,6 +4679,18 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --enable-gcov was given.
|
||||||
|
if test "${enable_gcov+set}" = set; then :
|
||||||
|
enableval=$enable_gcov; if test "$enableval" = "yes"
|
||||||
|
then
|
||||||
|
CFLAGS="-g -fprofile-arcs -ftest-coverage"
|
||||||
|
LDFLAGS="-fprofile-arcs -ftest-coverage"
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling gcov support" >&5
|
||||||
|
$as_echo "Enabling gcov support" >&6; }
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Check whether --enable-checker was given.
|
# Check whether --enable-checker was given.
|
||||||
if test "${enable_checker+set}" = set; then :
|
if test "${enable_checker+set}" = set; then :
|
||||||
enableval=$enable_checker; if test "$enableval" = "no"
|
enableval=$enable_checker; if test "$enableval" = "no"
|
||||||
|
|
12
configure.in
12
configure.in
|
@ -381,6 +381,18 @@ AC_MSG_RESULT([Disabling profiling libraries by default])
|
||||||
AC_SUBST(PROFILE_CMT)
|
AC_SUBST(PROFILE_CMT)
|
||||||
AC_SUBST_FILE(MAKEFILE_PROFILE)
|
AC_SUBST_FILE(MAKEFILE_PROFILE)
|
||||||
dnl
|
dnl
|
||||||
|
dnl handle --enable-gcov
|
||||||
|
dnl
|
||||||
|
AC_ARG_ENABLE([gcov],
|
||||||
|
[ --enable-gcov build for coverage testing using gcov],
|
||||||
|
if test "$enableval" = "yes"
|
||||||
|
then
|
||||||
|
CFLAGS="-g -fprofile-arcs -ftest-coverage"
|
||||||
|
LDFLAGS="-fprofile-arcs -ftest-coverage"
|
||||||
|
AC_MSG_RESULT([Enabling gcov support])
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
dnl
|
||||||
dnl handle --enable-checker
|
dnl handle --enable-checker
|
||||||
dnl
|
dnl
|
||||||
AC_ARG_ENABLE([checker],
|
AC_ARG_ENABLE([checker],
|
||||||
|
|
|
@ -117,7 +117,7 @@ uninstall:
|
||||||
$(RM) -f $(DESTDIR)$(man8dir)/$$i; \
|
$(RM) -f $(DESTDIR)$(man8dir)/$$i; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(PROGS) debugfs.8 \#* *.s *.o *.a *~ debug_cmds.c \
|
$(RM) -f $(PROGS) debugfs.8 \#* *.s *.o *.a *~ debug_cmds.c \
|
||||||
extent_cmds.c ro_debug_cmds.c core rdebugfs debugfs.static
|
extent_cmds.c ro_debug_cmds.c core rdebugfs debugfs.static
|
||||||
|
|
||||||
|
|
|
@ -273,7 +273,7 @@ uninstall:
|
||||||
$(DESTDIR)$(root_sbindir)/fsck.ext4 \
|
$(DESTDIR)$(root_sbindir)/fsck.ext4 \
|
||||||
$(DESTDIR)$(root_sbindir)/fsck.ext4dev
|
$(DESTDIR)$(root_sbindir)/fsck.ext4dev
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(PROGS) \#* *\# *.s *.o *.a *~ core e2fsck.static \
|
$(RM) -f $(PROGS) \#* *\# *.s *.o *.a *~ core e2fsck.static \
|
||||||
e2fsck.shared e2fsck.profiled flushb e2fsck.8 \
|
e2fsck.shared e2fsck.profiled flushb e2fsck.8 \
|
||||||
tst_problem tst_crc32 tst_region tst_refcount gen_crc32table \
|
tst_problem tst_crc32 tst_region tst_refcount gen_crc32table \
|
||||||
|
|
|
@ -65,7 +65,7 @@ ext2ed.8: $(DEP_SUBSTITUTE) $(srcdir)/ext2ed.8.in
|
||||||
ext2ed.conf: $(DEP_SUBSTITUTE) $(srcdir)/ext2ed.conf.in
|
ext2ed.conf: $(DEP_SUBSTITUTE) $(srcdir)/ext2ed.conf.in
|
||||||
$(SUBSTITUTE_UPTIME) $(srcdir)/ext2ed.conf.in ext2ed.conf
|
$(SUBSTITUTE_UPTIME) $(srcdir)/ext2ed.conf.in ext2ed.conf
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f ext2ed $(OBJS) $(DOCS) ext2ed.conf ext2ed.8
|
$(RM) -f ext2ed $(OBJS) $(DOCS) ext2ed.conf ext2ed.8
|
||||||
-rmdir doc
|
-rmdir doc
|
||||||
|
|
||||||
|
|
|
@ -488,13 +488,14 @@ id: ID
|
||||||
ID: $(HEADERS) $(SOURCES)
|
ID: $(HEADERS) $(SOURCES)
|
||||||
here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
|
here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
|
||||||
|
|
||||||
|
coverage.txt::
|
||||||
|
|
||||||
mostlyclean:
|
mostlyclean:
|
||||||
rm -f *.a *.la *.o *.obj *.lo core core.*
|
rm -f *.a *.la *.o *.obj *.lo core core.*
|
||||||
rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
|
rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
|
||||||
rm -f -r .libs _libs
|
rm -f -r .libs _libs
|
||||||
|
|
||||||
clean: mostlyclean
|
clean:: mostlyclean
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f Makefile ID TAGS
|
rm -f Makefile ID TAGS
|
||||||
|
|
|
@ -118,7 +118,7 @@ tst_tag: $(srcdir)/tag.c $(DEPLIBS_BLKID)
|
||||||
|
|
||||||
tst_types: tst_types.o blkid_types.h
|
tst_types: tst_types.o blkid_types.h
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_types tst_types.o
|
$(Q) $(CC) -o tst_types $(ALL_LDFLAGS) tst_types.o
|
||||||
|
|
||||||
../../misc/blkid.o: $(top_srcdir)/misc/blkid.c blkid.h
|
../../misc/blkid.o: $(top_srcdir)/misc/blkid.c blkid.h
|
||||||
$(E) " CC $@"
|
$(E) " CC $@"
|
||||||
|
|
|
@ -224,8 +224,8 @@ ext2fs.pc: $(srcdir)/ext2fs.pc.in $(top_builddir)/config.status
|
||||||
|
|
||||||
tst_badblocks: tst_badblocks.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
tst_badblocks: tst_badblocks.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_badblocks tst_badblocks.o $(STATIC_LIBEXT2FS) \
|
$(Q) $(CC) -o tst_badblocks tst_badblocks.o $(ALL_LDFLAGS) \
|
||||||
$(STATIC_LIBCOM_ERR) $(SYSLIBS)
|
$(STATIC_LIBEXT2FS) $(STATIC_LIBCOM_ERR) $(SYSLIBS)
|
||||||
|
|
||||||
tst_icount: $(srcdir)/icount.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
tst_icount: $(srcdir)/icount.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
|
@ -234,7 +234,7 @@ tst_icount: $(srcdir)/icount.c $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
||||||
|
|
||||||
tst_iscan: tst_iscan.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
tst_iscan: tst_iscan.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_iscan tst_iscan.o $(STATIC_LIBEXT2FS) \
|
$(Q) $(CC) -o tst_iscan tst_iscan.o $(ALL_LDFLAGS) $(STATIC_LIBEXT2FS) \
|
||||||
$(STATIC_LIBCOM_ERR) $(SYSLIBS)
|
$(STATIC_LIBCOM_ERR) $(SYSLIBS)
|
||||||
|
|
||||||
tst_getsize: tst_getsize.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
tst_getsize: tst_getsize.o $(STATIC_LIBEXT2FS) $(DEPSTATIC_LIBCOM_ERR)
|
||||||
|
@ -268,13 +268,13 @@ tst_types.o: $(srcdir)/tst_types.c ext2_types.h
|
||||||
|
|
||||||
tst_types: tst_types.o ext2_types.h
|
tst_types: tst_types.o ext2_types.h
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_types tst_types.o $(SYSLIBS)
|
$(Q) $(CC) -o tst_types tst_types.o $(ALL_LDFLAGS) $(SYSLIBS)
|
||||||
|
|
||||||
tst_super_size.o: $(srcdir)/tst_super_size.c $(srcdir)/ext2_fs.h
|
tst_super_size.o: $(srcdir)/tst_super_size.c $(srcdir)/ext2_fs.h
|
||||||
|
|
||||||
tst_super_size: tst_super_size.o
|
tst_super_size: tst_super_size.o
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_super_size tst_super_size.o $(SYSLIBS)
|
$(Q) $(CC) -o tst_super_size tst_super_size.o $(ALL_LDFLAGS) $(SYSLIBS)
|
||||||
|
|
||||||
tst_fs_struct.o: $(srcdir)/tst_fs_struct.c $(srcdir)/ext2fs.h
|
tst_fs_struct.o: $(srcdir)/tst_fs_struct.c $(srcdir)/ext2fs.h
|
||||||
|
|
||||||
|
@ -286,11 +286,11 @@ tst_inode_size.o: $(srcdir)/tst_inode_size.c $(srcdir)/ext2_fs.h
|
||||||
|
|
||||||
tst_inode_size: tst_inode_size.o
|
tst_inode_size: tst_inode_size.o
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o tst_inode_size tst_inode_size.o $(SYSLIBS)
|
$(Q) $(CC) -o tst_inode_size tst_inode_size.o $(ALL_LDFLAGS) $(SYSLIBS)
|
||||||
|
|
||||||
ext2_tdbtool: tdbtool.o
|
ext2_tdbtool: tdbtool.o
|
||||||
$(E) " LD $@"
|
$(E) " LD $@"
|
||||||
$(Q) $(CC) -o ext2_tdbtool tdbtool.o tdb.o $(SYSLIBS)
|
$(Q) $(CC) -o ext2_tdbtool tdbtool.o tdb.o $(ALL_LDFLAGS) $(SYSLIBS)
|
||||||
|
|
||||||
extent_dbg.c: $(srcdir)/extent_dbg.ct
|
extent_dbg.c: $(srcdir)/extent_dbg.ct
|
||||||
$(E) " MK_CMDS $<"
|
$(E) " MK_CMDS $<"
|
||||||
|
|
|
@ -599,7 +599,7 @@ uninstall:
|
||||||
$(RM) $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; \
|
$(RM) $(DESTDIR)/$(root_sysconfdir)/mke2fs.conf; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) $(UMANPAGES) $(SMANPAGES) \
|
$(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) $(UMANPAGES) $(SMANPAGES) \
|
||||||
$(FMANPAGES) profile.h \
|
$(FMANPAGES) profile.h \
|
||||||
base_device base_device.out mke2fs.static filefrag e2freefrag \
|
base_device base_device.out mke2fs.static filefrag e2freefrag \
|
||||||
|
|
|
@ -281,7 +281,9 @@ mostlyclean:
|
||||||
rm -f $(DOMAIN).po.bak
|
rm -f $(DOMAIN).po.bak
|
||||||
rm -fr *.o
|
rm -fr *.o
|
||||||
|
|
||||||
clean: mostlyclean
|
coverage.txt::
|
||||||
|
|
||||||
|
clean:: mostlyclean
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
rm -f Makefile Makefile.in POTFILES *.mo
|
rm -f Makefile Makefile.in POTFILES *.mo
|
||||||
|
|
|
@ -104,7 +104,7 @@ check:: test_extent.out
|
||||||
exit 1 ; \
|
exit 1 ; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(PROGS) $(TEST_PROGS) $(MANPAGES) \#* *.s *.o *.a *~ core \
|
$(RM) -f $(PROGS) $(TEST_PROGS) $(MANPAGES) \#* *.s *.o *.a *~ core \
|
||||||
resize2fs.static test_extent.out
|
resize2fs.static test_extent.out
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ test_icount_cmds.c: test_icount_cmds.ct
|
||||||
$(E) " MK_CMDS $@"
|
$(E) " MK_CMDS $@"
|
||||||
$(Q) $(MK_CMDS) $(srcdir)/test_icount_cmds.ct
|
$(Q) $(MK_CMDS) $(srcdir)/test_icount_cmds.ct
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(PROGS) test_rel_cmds.c test_icount_cmds.c \
|
$(RM) -f $(PROGS) test_rel_cmds.c test_icount_cmds.c \
|
||||||
\#* *.s *.o *.a *~ core
|
\#* *.s *.o *.a *~ core
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ tarballs: gen-tarball
|
||||||
sh gen-tarball all
|
sh gen-tarball all
|
||||||
sh gen-tarball subset
|
sh gen-tarball subset
|
||||||
|
|
||||||
clean:
|
clean::
|
||||||
$(RM) -f $(PROGS) \#* *.s *.o *.a *~ core *.tar.gz gen-tarball \
|
$(RM) -f $(PROGS) \#* *.s *.o *.a *~ core *.tar.gz gen-tarball \
|
||||||
copy-sparse dirpaths.h
|
copy-sparse dirpaths.h
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue