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

(cherry picked from commit 8eb2bee6c0f4957c6c1cea826e59cda4d18a2a64)

Details

Provenance
melifaroAuthored on Jun 25 2022, 7:01 PM
Reviewer
kp
Differential Revision
D31084: Add basic python atf support
Parents
rGfc850f4f7d44: netinet6: perform out-of-bounds check for loX multicast statistics
Branches
Unknown
Tags
Unknown