The automatic skipping of tests on ENOSYS returns was introduced in
commit
349afc8a52f8 ("selftests/nolibc: skip tests for unimplemented
syscalls"). It handled the fact that nolibc would return ENOSYS for many
syscall wrappers on riscv32.
Nowadays nolibc handles all these correctly, so this logic is not used
anymore. To make missing nolibc functionality more obvious fail the
tests again if something is not implemented.
Revert the mentioned commit again.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260406-nolibc-no-skip-enosys-v1-2-c046b1ac7d73@weissschuh.net/
{
int ret = 0;
- if (errno == ENOSYS) {
- llen += printf(" = ENOSYS");
- result(llen, SKIPPED);
- } else if (expr) {
+ if (expr) {
ret = 1;
llen += printf(" = %d %s ", expr, errorname(errno));
result(llen, FAIL);
{
int ret = 0;
- if (errno == ENOSYS) {
- llen += printf(" = ENOSYS");
- result(llen, SKIPPED);
- } else if (expr == val) {
+ if (expr == val) {
ret = 1;
llen += printf(" = %d %s ", expr, errorname(errno));
result(llen, FAIL);
int _errno = errno;
llen += printf(" = %d %s ", expr, errorname(_errno));
- if (errno == ENOSYS) {
- result(llen, SKIPPED);
- } else if (expr != expret || (_errno != experr1 && _errno != experr2)) {
+ if (expr != expret || (_errno != experr1 && _errno != experr2)) {
ret = 1;
if (experr2 == 0)
llen += printf(" != (%d %s) ", expret, errorname(experr1));