• Mickaël Salaün's avatar
    selftests/harness: Merge TEST_F_FORK() into TEST_F() · 0710a1a7
    Mickaël Salaün authored
    Replace Landlock-specific TEST_F_FORK() with an improved TEST_F() which
    brings four related changes:
    
    Run TEST_F()'s tests in a grandchild process to make it possible to
    drop privileges and delegate teardown to the parent.
    
    Compared to TEST_F_FORK(), simplify handling of the test grandchild
    process thanks to vfork(2), and makes it generic (e.g. no explicit
    conversion between exit code and _metadata).
    
    Compared to TEST_F_FORK(), run teardown even when tests failed with an
    assert thanks to commit 63e6b2a4 ("selftests/harness: Run TEARDOWN
    for ASSERT failures").
    
    Simplify the test harness code by removing the no_print and step fields
    which are not used.  I added this feature just after I made
    kselftest_harness.h more broadly available but this step counter
    remained even though it wasn't needed after all. See commit 369130b6
    ("selftests: Enhance kselftest_harness.h to print which assert failed").
    
    Replace spaces with tabs in one line of __TEST_F_IMPL().
    
    Cc: Günther Noack <gnoack@google.com>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: Will Drewry <wad@chromium.org>
    Signed-off-by: default avatarMickaël Salaün <mic@digikod.net>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0710a1a7
kselftest_harness.h 30.8 KB