Add configure option to enable gcov analysis

* Add configure option to enable gcov analysis.
* Includes a few minor ctime fixes.
* Add codecov.yml configuration.

Reviewed-by: Prakash Surya <prakash.surya@delphix.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #6642
This commit is contained in:
Brian Behlendorf 2017-09-15 10:24:13 -07:00 committed by Tony Hutter
parent 834815e9f7
commit 184087f822
7 changed files with 48 additions and 5 deletions

9
.github/codecov.yml vendored Normal file
View File

@ -0,0 +1,9 @@
codecov:
strict_yaml_branch: master # only use the latest copy on master branch
comment: off
coverage:
status:
project: off
patch: off

2
.gitignore vendored
View File

@ -19,6 +19,8 @@
*.mod.c *.mod.c
*~ *~
*.swp *.swp
*.gcno
*.gcda
.deps .deps
.libs .libs
.dirstamp .dirstamp

View File

@ -29,10 +29,10 @@ distclean-local::
-o -name .pc -o -name .hg -o -name .git \) -prune -o \ -o -name .pc -o -name .hg -o -name .git \) -prune -o \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \ \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' -o -name '.script-config' -o -size 0 \ -o -name '.*.rej' -o -size 0 -o -name '*%' -o -name '.*.cmd' \
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \ -o -name 'core' -o -name 'Makefile' -o -name 'Module.symvers' \
-o -name 'Makefile' -o -name 'Module.symvers' \ -o -name '*.order' -o -name '*.markers' -o -name '*.gcda' \
-o -name '*.order' -o -name '*.markers' \) \ -o -name '*.gcno' \) \
-type f -print | xargs $(RM) -type f -print | xargs $(RM)
dist-hook: dist-hook:

View File

@ -75,6 +75,37 @@ AC_DEFUN([ZFS_AC_DEBUGINFO], [
AC_MSG_RESULT([$enable_debuginfo]) AC_MSG_RESULT([$enable_debuginfo])
]) ])
AC_DEFUN([ZFS_AC_GCOV_KERNEL], [
])
AC_DEFUN([ZFS_AC_GCOV_USER], [
DEBUG_CFLAGS="$DEBUG_CFLAGS -fprofile-arcs -ftest-coverage"
])
AC_DEFUN([ZFS_AC_GCOV], [
AC_MSG_CHECKING([whether gcov profiling will be enabled])
AC_ARG_ENABLE([gcov],
[AS_HELP_STRING([--enable-gcov],
[Enable gcov profiling @<:@default=no@:>@])],
[],
[enable_gcov=no])
AS_CASE(["x$enable_gcov"],
["xyes"],
[ZFS_AC_GCOV_KERNEL
ZFS_AC_GCOV_USER],
["xkernel"],
[ZFS_AC_GCOV_KERNEL],
["xuser"],
[ZFS_AC_GCOV_USER],
["xno"],
[],
[AC_MSG_ERROR([Unknown option $enable_gcov])])
AC_SUBST(DEBUG_CFLAGS)
AC_MSG_RESULT([$enable_gcov])
])
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [ AC_DEFUN([ZFS_AC_CONFIG_ALWAYS], [
ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE ZFS_AC_CONFIG_ALWAYS_NO_UNUSED_BUT_SET_VARIABLE
ZFS_AC_CONFIG_ALWAYS_NO_BOOL_COMPARE ZFS_AC_CONFIG_ALWAYS_NO_BOOL_COMPARE

View File

@ -56,6 +56,7 @@ ZFS_AC_PACKAGE
ZFS_AC_CONFIG ZFS_AC_CONFIG
ZFS_AC_DEBUG ZFS_AC_DEBUG
ZFS_AC_DEBUGINFO ZFS_AC_DEBUGINFO
ZFS_AC_GCOV
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile

View File

@ -1 +1 @@
/ctime_001_pos /ctime

View File