testing: Add basic atf support to pytest.
Implementation consists of the pytest plugin implementing ATF format and
a simple C++ wrapper, which reorders the provided arguments from ATF format
to the format understandable by pytest. Each test has this wrapper specified
after the shebang. When kyua executes the test, wrapper calls pytest, which
loads atf plugin, does the work and returns the result. Additionally, a
separate python "package", /usr/tests/atf_python has been added to collect
code that may be useful across different tests.
Current limitations:
- Opaque metadata passing via X-Name properties. Require some fixtures to write
- -s srcdir parameter passed by the runner is ignored.
- No atf-c-api(3) or similar - relying on pytest framework & existing python libraries
- No support for atf_tc_<get|has>_config_var() & atf_tc_set_md_var(). Can be probably implemented with env variables & autoload fixtures
Differential Revision: https://reviews.freebsd.org/D31084
Reviewed by: kp, ngie