mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-31 11:02:35 +01:00
Add LCOV support to generate coverage information
How to use: - Install LCOV (http://ltp.sourceforge.net/coverage/lcov.php) - AFAICT, compiler must be GCC. - ./configure --prefix=/some/path --enable-lcov=/var/www This will configure the sources so that generated coverage information (HTML pages) will end up in /var/www/coverage-report. Choose a directory you have write access to. - make No installation necessary (although it probably doesn't hurt to have WM installed in ${prefix} so it can find resources and stuff, but the build tree must be kept intact anyway). - Put ${srcroot}/src, ${srcroot}/WPrefs.app and ${srcroot}/util first in your path. - Arrange for your .xinitrc or DM to start ${srcroot}/src/wmaker as your window manager. - Use it as you normally would, possibly for an extended period of time. - make coverage. This will create a tree of web pages under /var/www/coverage-report - Further `make coverage's (after some more use) will re-generate the report (deleting the directory first). - `make coverage-reset' will reset execution counts to zero (see lcov(1)). Signed-off-by: Tamas TEVESZ <ice@extreme.hu>
This commit is contained in:
committed by
Carlos R. Mafra
parent
7859e2d59f
commit
ffda48bd61
13
Makefile.am
13
Makefile.am
@@ -10,3 +10,16 @@ EXTRA_DIST = TODO BUGS BUGFORM FAQ FAQ.I18N FAQ.I18N.cs FAQ.I18N.sk \
|
|||||||
The-perfect-Window-Maker-patch.txt \
|
The-perfect-Window-Maker-patch.txt \
|
||||||
README.es README.pt COPYING.WTFPL autogen.sh
|
README.es README.pt COPYING.WTFPL autogen.sh
|
||||||
|
|
||||||
|
if USE_LCOV
|
||||||
|
coverage-reset:
|
||||||
|
find . -type f -name '*.gcda' -exec rm -f '{}' ';'
|
||||||
|
lcov --directory . --zerocounters
|
||||||
|
|
||||||
|
coverage:
|
||||||
|
rm -rf coverage @lcov_output_directory@
|
||||||
|
-mkdir -p coverage @lcov_output_directory@
|
||||||
|
lcov --compat-libtool --capture --directory . --output-file coverage/coverage.info
|
||||||
|
genhtml --output-directory @lcov_output_directory@ coverage/coverage.info
|
||||||
|
|
||||||
|
.PHONY: coverage-reset coverage
|
||||||
|
endif
|
||||||
|
|||||||
18
configure.ac
18
configure.ac
@@ -155,6 +155,24 @@ AS_IF([test "x$with_boehm_gc" = "xyes"],
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dnl LCOV
|
||||||
|
dnl ====
|
||||||
|
AC_ARG_ENABLE([lcov],
|
||||||
|
[AS_HELP_STRING([--enable-lcov[=output-directory]], [enable coverage data generation using LCOV (GCC only) [default=no]])],
|
||||||
|
[],
|
||||||
|
[enable_lcov=no])
|
||||||
|
|
||||||
|
AS_IF([test "x$enable_lcov" != "xno"],
|
||||||
|
[AX_CFLAGS_GCC_OPTION(-fprofile-arcs -ftest-coverage)
|
||||||
|
if test "x$enable_lcov" = "xyes"; then
|
||||||
|
lcov_output_directory="coverage-report"
|
||||||
|
else
|
||||||
|
lcov_output_directory="${enable_lcov}/coverage-report"
|
||||||
|
fi
|
||||||
|
AC_SUBST(lcov_output_directory)]
|
||||||
|
)
|
||||||
|
AM_CONDITIONAL([USE_LCOV], [test "x$enable_lcov" != "xno"])
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl ============================
|
dnl ============================
|
||||||
dnl Checks for library functions
|
dnl Checks for library functions
|
||||||
|
|||||||
Reference in New Issue
Block a user