HomeFreeBSD

testing: Add basic atf support to pytest.

Description

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

Details

Provenance
melifaroAuthored on Jun 25 2022, 7:01 PM
Reviewer
kp
Differential Revision
D31084: Add basic python atf support
Parents
rGc38da70c28a8: routing: fix RTM_CHANGE nhgroup updates.
Branches
Unknown
Tags
Unknown