This patchset creates a selftest for the robust list interface, to track regressions and assure that the interface keeps working as expected.
In this version I removed the kselftest_harness include, but I expanded the current futex selftest API a little bit with basic ASSERT_ macros to make the test easier to write and read. In the future, hopefully we can move all futex selftests to the kselftest_harness API anyway.
This is the expected output:
TAP version 13 1..6 ok 1 test_robustness ok 2 test_set_robust_list_invalid_size ok 3 test_get_robust_list_self ok 4 test_get_robust_list_child ok 5 test_set_list_op_pending ok 6 test_robust_list_multiple_elements # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0
Changelog v4: - Fixed clang warning "robust_list.c:121: converts between pointers to integer types with different sign"
v3: https://lore.kernel.org/lkml/20241010011142.905297-1-andrealmeid@igalia.com/ - Create ASSERT_ macros for futex selftests - Dropped kselftest_harness include, using just futex test API
André Almeida (2): selftests/futex: Add ASSERT_ macros selftests/futex: Create test for robust list
.../selftests/futex/functional/.gitignore | 1 + .../selftests/futex/functional/Makefile | 3 +- .../selftests/futex/functional/robust_list.c | 513 ++++++++++++++++++ .../testing/selftests/futex/include/logging.h | 28 + 4 files changed, 544 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/futex/functional/robust_list.c