diff options
author | ngie <ngie@FreeBSD.org> | 2017-02-16 05:14:07 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2017-02-16 05:14:07 +0000 |
commit | 4375a855a9ebfec903c6ee076c8aa62401e43ffc (patch) | |
tree | 9d58b9e87d0bfc07b7d638eb846a33d7dc077fa8 /Makefile.inc1 | |
parent | 9a0f095e80b414dfa86c07ac17998b455cc982e8 (diff) | |
download | FreeBSD-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.inc1 | 19 |
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 |