Make zero reads/writes' behavior right

This commit is contained in:
Ruihan Li
2025-06-15 19:24:53 +08:00
committed by Jianfeng Jiang
parent 837f908690
commit 4a9977d9a7
11 changed files with 226 additions and 18 deletions

View File

@ -84,9 +84,15 @@ FN_TEST(send)
{
char buf[1] = { 'z' };
TEST_RES(send(sk_bound, buf, 1, 0), 1);
TEST_SUCC(send(sk_bound, buf, 1, 0));
TEST_ERRNO(send(sk_bound, buf, 0, 0), ENODATA);
TEST_SUCC(write(sk_bound, buf, 1));
TEST_ERRNO(write(sk_bound, buf, 0), ENODATA);
TEST_ERRNO(send(sk_connected, buf, 1, 0), ECONNREFUSED);
TEST_ERRNO(send(sk_connected, buf, 0, 0), ENODATA);
TEST_ERRNO(write(sk_connected, buf, 1), ECONNREFUSED);
TEST_ERRNO(write(sk_connected, buf, 0), ENODATA);
}
END_TEST()
@ -95,10 +101,19 @@ FN_TEST(recv)
char buf[1] = { 'z' };
TEST_ERRNO(recv(sk_unbound, buf, 1, 0), EAGAIN);
TEST_ERRNO(recv(sk_unbound, buf, 0, 0), EAGAIN);
TEST_ERRNO(read(sk_unbound, buf, 1), EAGAIN);
TEST_SUCC(read(sk_unbound, buf, 0));
TEST_ERRNO(recv(sk_bound, buf, 1, 0), EAGAIN);
TEST_ERRNO(recv(sk_bound, buf, 0, 0), EAGAIN);
TEST_ERRNO(read(sk_bound, buf, 1), EAGAIN);
TEST_SUCC(read(sk_bound, buf, 0));
TEST_ERRNO(recv(sk_connected, buf, 1, 0), EAGAIN);
TEST_ERRNO(recv(sk_connected, buf, 0, 0), EAGAIN);
TEST_ERRNO(read(sk_connected, buf, 1), EAGAIN);
TEST_SUCC(read(sk_connected, buf, 0));
}
END_TEST()