libtest: Simplify the output from the '-l' (list) option.
With this change the driver only lists tests that remain
selected for execution once the test selector arguments
present have been processed.
For help with debugging test selection, if verbose mode was
specified, the driver will also output the state transitions
as each test selector is processed.
libtest: Simplify test selection.
Instead of requiring the user to specify selectors for test
cases and test functions separately, match test selectors
against the 'canonical names' for the tests in the executable.
Canonical test names use the form "TESTCASENAME:FUNCTIONNAME".
This change simplifies both the user-interface for test
selection and the code for implementing it in the driver
framework.
libtest: Improve the test_driver.1 manual page.
- Consistently use 'framework' instead of a mix of 'library'
and 'utility'.
- Document the '-h' option supported by the test driver.
libtest: Make it mandatory for test functions to call test_result(3).
Instead of returning an 'enum test_result' value, test
functions now call test_result() one or more times to report
test status. Calls to test_result() with values indicating
test failure override prior 'pass' results.
This changes simplifies the implementation of test functions
that conduct the same test over a range of inputs.
libtest: Simplify the test(3) & test_driver(3) APIs.
- Signal errors in setup/teardown functions using a plain
'bool'.
- Do not place test tags and test descriptions in the C
source code for a test. These are better placed elsewhere
alongside other metadata associated with the test.
libtest: simplify the protocol for test case setup/teardown.
Remove 'enum test_case_status': a true/false value suffices
to indicate setup and teardown failure.