On Fri, 2024-06-21 at 18:35 +0800, Geliang Tang wrote:
[...]
> @@ -883,12 +881,10 @@ static void drop_on_lookup(const struct test *t)
> if (server_fd < 0)
> goto detach;
>
> - client_fd = make_socket(t->sotype, t->connect_to.ip,
> - t->connect_to.port, &dst, &len);
> + client_fd = connect_to_fd(server_fd, 0);
Nit: make_socket() used timeout { .tv_sec = IO_TIMEOUT_SEC },
while here commect_to_fd is called with timeout disabled.
Same applies to other replacements below.
> if (client_fd < 0)
> goto close_srv;
>
> - err = connect(client_fd, (void *)&dst, len);
> if (t->sotype == SOCK_DGRAM) {
> err = send_byte(client_fd);
> if (err)
[...]
> @@ -1257,17 +1247,13 @@ static void run_multi_prog_lookup(const struct
> test_multi_prog *t)
> if (err)
> goto out_close_server;
>
> - client_fd = make_socket(SOCK_STREAM, EXT_IP4, EXT_PORT, &dst, &len);
> - if (client_fd < 0)
> - goto out_close_server;
> -
> - err = connect(client_fd, (void *)&dst, len);
> - if (CHECK(err && !t->expect_errno, "connect",
> + client_fd = connect_to_fd(server_fd, 0);
I'm not sure this is correct.
The original test uses EXT_IP4, EXT_PORT here,
while t->listen_at could be both { EXT_IP4, EXT_PORT } and { INT_IP4, INT_PORT
}.
See test_multi_prog_lookup().
> + if (CHECK(client_fd < 0 && !t->expect_errno, "connect",
> "unexpected error %d\n", errno))
> - goto out_close_client;
> - if (CHECK(err && t->expect_errno && errno != t->expect_errno,
> + goto out_close_server;
> + if (CHECK(client_fd < 0 && t->expect_errno && errno != t->expect_errno,
> "connect", "unexpected error %d\n", errno))
> - goto out_close_client;
> + goto out_close_server;
>
> done = 0;
> prog_idx = PROG1;
[...]