]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests/nolibc: try to read from stdin in readv_zero test
authorThomas Weißschuh <linux@weissschuh.net>
Tue, 6 Jan 2026 11:44:57 +0000 (12:44 +0100)
committerThomas Weißschuh <linux@weissschuh.net>
Sun, 11 Jan 2026 10:17:07 +0000 (11:17 +0100)
When stdout is redirected to a file this test fails.
This happens when running through the kselftest runner since
commit d9e6269e3303 ("selftests/run_kselftest.sh: exit with
error if tests fail").

For consistency with other tests that read from a file descriptor,
switch to stdin over stdout. The tests are still brittle against
a redirected stdin, but at least they are now consistently so.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260106-nolibc-selftests-v1-1-f82101c2c505@weissschuh.net
tools/testing/selftests/nolibc/nolibc-test.c

index 3986d55a6ff67d7f1a6c5d9b1779aee16e547cdd..e83c1e7e2beb680eb26db3075c4c5ae6b16e56db 100644 (file)
@@ -1404,7 +1404,7 @@ int run_syscall(int min, int max)
                CASE_TEST(write_badf);        EXPECT_SYSER(1, write(-1, &tmp, 1), -1, EBADF); break;
                CASE_TEST(write_zero);        EXPECT_SYSZR(1, write(1, &tmp, 0)); break;
                CASE_TEST(readv_badf);        EXPECT_SYSER(1, readv(-1, &iov_one, 1), -1, EBADF); break;
-               CASE_TEST(readv_zero);        EXPECT_SYSZR(1, readv(1, NULL, 0)); break;
+               CASE_TEST(readv_zero);        EXPECT_SYSZR(1, readv(0, NULL, 0)); break;
                CASE_TEST(writev_badf);       EXPECT_SYSER(1, writev(-1, &iov_one, 1), -1, EBADF); break;
                CASE_TEST(writev_zero);       EXPECT_SYSZR(1, writev(1, NULL, 0)); break;
                CASE_TEST(ptrace);            EXPECT_SYSER(1, ptrace(PTRACE_CONT, getpid(), NULL, NULL), -1, ESRCH); break;