summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2017-02-16 05:14:07 +0000
committerngie <ngie@FreeBSD.org>2017-02-16 05:14:07 +0000
commit4375a855a9ebfec903c6ee076c8aa62401e43ffc (patch)
tree9d58b9e87d0bfc07b7d638eb846a33d7dc077fa8 /Makefile.inc1
parent9a0f095e80b414dfa86c07ac17998b455cc982e8 (diff)
downloadFreeBSD-src-4375a855a9ebfec903c6ee076c8aa62401e43ffc.zip
FreeBSD-src-4375a855a9ebfec903c6ee076c8aa62401e43ffc.tar.gz
MFC r285119,r292502,r295380:
r285119 (by jmmv): Add support for TEST_METADATA Allow Makefiles to define generic metadata settings that apply to all test programs defined by a Makefile. The generic TEST_METADATA variable extends the per-test program settings already supported via TEST_METADATA.<program>. This feature will be useful to easily apply some settings to all programs in a directory. In particular, Kyua 0.12 will support parallel execution of test programs and a bunch of them will need to be tagged as is_exclusive to indicate that they cannot be run in parallel with anything else due to their side-effects. It will be reasonable to set this setting on whole directories. r292502: Always expose LOCALBASE, not just when CROSS_TOOLCHAIN is defined Instead of using which(1) to look for doxygen, look for it in <LOCALBASE>/bin . $PATH gets mangled by make buildenv, etc so it's better to just be explicit about the path if someone uses that for instance. r295380: Simplify running the FreeBSD test suite Replace `make regress` (legacy test make target) and `make test` (incomplete test make target added with the FreeBSD test suite) with make check as it's consistent with other open source projects. `make check` defaults to running tests from `.OBJDIR`, but can be overridden with the `CHECKDIR` variable. Add `make checkworld` target to simplify running the FreeBSD test suite from `TESTSBASE` (i.e. the top-level tests directory), similar to buildworld. Document `make check` and `make checkworld` in build(7). Other minor changes: - Rename intermediate file (`Kyuafile.auto`) to `Kyuafile` to simplify `make check`. - Remove terse warnings attached to `beforetest`/`aftertest`. - Add kyua binary check to check target in suite.test.mk; error out if it's not found The MFC is [partly] contingent on other build related changes being MFCed. X-MFC to: stable/10 Relnotes: yes
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc119
1 files changed, 18 insertions, 1 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 592ab34..4593536 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -35,6 +35,7 @@
# The intended user-driven targets are:
# buildworld - rebuild *everything*, including glue to help do upgrades
# installworld- install everything built by "buildworld"
+# checkworld - run test suite on installed world
# doxygen - build API documentation of the kernel
# update - convenient way to update your source tree (eg: svn/svnup)
#
@@ -50,6 +51,8 @@
.include <bsd.arch.inc.mk>
.include <bsd.compiler.mk>
+LOCALBASE?= /usr/local
+
# We must do share/info early so that installation of info `dir'
# entries works correctly. Do it first since it is less likely to
# grow dependencies on include and lib than vice versa.
@@ -1190,12 +1193,26 @@ packagekernel:
.endif
#
+#
+# checkworld
+#
+# Run test suite on installed world.
+#
+checkworld: .PHONY
+ @if [ ! -x ${LOCALBASE}/bin/kyua ]; then \
+ echo "You need kyua (devel/kyua) to run the test suite." | /usr/bin/fmt; \
+ exit 1; \
+ fi
+ ${_+_}${LOCALBASE}/bin/kyua test -k ${TESTSBASE}/Kyuafile
+
+#
+#
# doxygen
#
# Build the API documentation with doxygen
#
doxygen: .PHONY
- @if [ ! -x `/usr/bin/which doxygen` ]; then \
+ @if [ ! -x ${LOCALBASE}/bin/doxygen ]; then \
echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \
exit 1; \
fi
OpenPOWER on IntegriCloud