Chapter 10. Integration with Automated Test Frameworks

Abuild is integrated with two automated test frameworks: QTest,
and JUnit. Additional integrations can be performed with plugins
or build item rules or hooks.

10.1. Test Targets

Abuild defines three built-in targets for running test suites:
check, test, and
test-only. The check and
test targets are synonyms. Both targets first
ensure that a build item is built (by depending on the
all target) and then run the build item's test
suites, if any. The test-only target also
runs a build item's test suite, but it does not depend on
all. This means that it will almost certainly
fail when run on a clean build tree. The
test-only target is useful for times when you
know that a build item is already built and
you want to run the test suite on what is there
now. One case in which you might want to do
this would be if you had just started editing some source files
and decided you wanted to rerun the test suite on the existing
executables before rebuilding them. Another case in which this
could be useful is if you had just built a build tree and then
wanted to immediately go back and run all the test suites without
having to pay the time penalty of checking to make sure each
build is up to date. In this case, you could run abuild
--build=all test-only immediately after the build was
completed. Such a usage style might be appropriate for
autobuilders or other systems that build and test a build tree in
a controlled environment.