]> granicus.if.org Git - zfs/commitdiff
Warn if checking programs are not installed
authorMatthew Ahrens <mahrens@delphix.com>
Thu, 4 Oct 2018 20:11:45 +0000 (13:11 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 4 Oct 2018 20:11:45 +0000 (13:11 -0700)
`make checkstyle` silently skips checks if the required programs are not
installed (e.g. shellcheck, mandoc).  Therefore developers may not
realize that they are not getting the full suite of code checks.  This
also applies to more specific targets like `make shellcheck`.

We should print a warning message when a check is skipped due to missing
tools.

Reviewed-by: Giuseppe Di Natale <guss80@gmail.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Prakash Surya <prakash.surya@delphix.com>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
Closes #7984

Makefile.am

index 61bf9e235090fbca7391e5874a5bd90b85174e32..50b80b945d53656d419aaee09460c8db3690d173 100644 (file)
@@ -81,6 +81,8 @@ shellcheck:
                        $$(find ${top_srcdir}/scripts/*.sh -type f) \
                        $$(find ${top_srcdir}/cmd/zed/zed.d/*.sh -type f) \
                        $$(find ${top_srcdir}/cmd/zpool/zpool.d/* -executable); \
+       else \
+               echo "skipping shellcheck because shellcheck is not installed"; \
        fi
 
 mancheck:
@@ -89,6 +91,8 @@ mancheck:
                        -o -name 'zpool.8' -o -name 'zdb.8' \
                        -o -name 'zgenhostid.8' | \
                        xargs mandoc -Tlint -Werror; \
+       else \
+               echo "skipping mancheck because mandoc is not installed"; \
        fi
 
 testscheck:
@@ -107,16 +111,22 @@ cppcheck:
                        --suppressions-list=.github/suppressions.txt \
                        -UHAVE_SSE2 -UHAVE_AVX512F -UHAVE_UIO_ZEROCOPY \
                        -UHAVE_DNLC ${top_srcdir}; \
+       else \
+               echo "skipping cppcheck because cppcheck is not installed"; \
        fi
 
 paxcheck:
        @if type scanelf > /dev/null 2>&1; then \
                ${top_srcdir}/scripts/paxcheck.sh ${top_srcdir}; \
+       else \
+               echo "skipping paxcheck because scanelf is not installed"; \
        fi
 
 flake8:
        @if type flake8 > /dev/null 2>&1; then \
                flake8 ${top_srcdir}; \
+       else \
+               echo "skipping flake8 because flake8 is not installed"; \
        fi
 
 ctags: