mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-22 17:03:23 +00:00
Fix error codes in get{sock,peer}name
This commit is contained in:
committed by
Tate, Hongliang Tian
parent
8b094454aa
commit
51080c1925
@ -50,3 +50,35 @@ FN_SETUP(connected)
|
||||
sizeof(sk_addr)));
|
||||
}
|
||||
END_SETUP()
|
||||
|
||||
FN_TEST(getsockname)
|
||||
{
|
||||
struct sockaddr_in saddr = { .sin_port = 0xbeef };
|
||||
struct sockaddr *psaddr = (struct sockaddr *)&saddr;
|
||||
socklen_t addrlen = sizeof(saddr);
|
||||
|
||||
TEST_RES(getsockname(sk_unbound, psaddr, &addrlen),
|
||||
addrlen == sizeof(saddr) && saddr.sin_port == 0);
|
||||
|
||||
TEST_RES(getsockname(sk_bound, psaddr, &addrlen),
|
||||
addrlen == sizeof(saddr) && saddr.sin_port == C_PORT);
|
||||
|
||||
TEST_RES(getsockname(sk_connected, psaddr, &addrlen),
|
||||
addrlen == sizeof(saddr) && saddr.sin_port != C_PORT);
|
||||
}
|
||||
END_TEST()
|
||||
|
||||
FN_TEST(getpeername)
|
||||
{
|
||||
struct sockaddr_in saddr = { .sin_port = 0xbeef };
|
||||
struct sockaddr *psaddr = (struct sockaddr *)&saddr;
|
||||
socklen_t addrlen = sizeof(saddr);
|
||||
|
||||
TEST_ERRNO(getpeername(sk_unbound, psaddr, &addrlen), ENOTCONN);
|
||||
|
||||
TEST_ERRNO(getpeername(sk_bound, psaddr, &addrlen), ENOTCONN);
|
||||
|
||||
TEST_RES(getpeername(sk_connected, psaddr, &addrlen),
|
||||
addrlen == sizeof(saddr) && saddr.sin_port == C_PORT);
|
||||
}
|
||||
END_TEST()
|
||||
|
Reference in New Issue
Block a user