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 <[email protected]>
---
 tools/testing/selftests/nolibc/nolibc-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/nolibc/nolibc-test.c 
b/tools/testing/selftests/nolibc/nolibc-test.c
index 3986d55a6ff6..e83c1e7e2beb 100644
--- a/tools/testing/selftests/nolibc/nolibc-test.c
+++ b/tools/testing/selftests/nolibc/nolibc-test.c
@@ -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;

-- 
2.52.0


Reply via email to