libredirect: add test for 'connect'

This commit is contained in:
Bjørn Forsman
2026-01-21 19:20:36 +01:00
parent c63e9516f8
commit 03f7190cab
+30
View File
@@ -34,6 +34,35 @@ void test_bind(void) {
close(fd);
}
void test_connect(void) {
// server
int server_fd = socket(AF_UNIX, SOCK_STREAM, 0);
assert(server_fd != -1);
struct sockaddr_un server_addr = {
.sun_family = AF_UNIX,
.sun_path = TESTSOCK,
};
unlink(TESTSOCK);
int bind_ret = bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr));
assert(bind_ret == 0);
int listen_ret = listen(server_fd, 5);
assert(listen_ret == 0);
// client
int client_fd = socket(AF_UNIX, SOCK_STREAM, 0);
assert(client_fd != -1);
struct sockaddr_un client_addr = {
.sun_family = AF_UNIX,
.sun_path = TESTSOCK,
};
int connect_ret = connect(client_fd, (struct sockaddr *)&client_addr, sizeof(client_addr));
assert(connect_ret == 0);
// clean up
close(server_fd);
close(client_fd);
}
void test_spawn(void) {
pid_t pid;
int ret;
@@ -177,6 +206,7 @@ int main(int argc, char *argv[])
assert_mktemp_path(TESTDIR "/temp", "", buf);
test_bind();
test_connect();
test_spawn();
test_system();
test_stat_with_null_path();