summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Orton <jorton@redhat.com>2021-08-04 16:05:50 +0100
committerJoe Orton <jorton@apache.org>2021-08-04 16:59:51 +0100
commitdbeb8bf60d8c79f433adbf34b39007b2afcc3f9e (patch)
tree17714667108c06879bf49c4b53cc82307e6672de
parent1d0b4e3ad1ada04db08be42085f980b62445f164 (diff)
downloadneon-git-dbeb8bf60d8c79f433adbf34b39007b2afcc3f9e.tar.gz
* test/socket.c (close_and_wait): New utility function.
Use it throughout.
-rw-r--r--test/socket.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/test/socket.c b/test/socket.c
index 413c2ce..aaf87c2 100644
--- a/test/socket.c
+++ b/test/socket.c
@@ -100,6 +100,15 @@ static int do_connect(ne_socket **sock, ne_sock_addr *addr, unsigned int port)
return FAIL;
}
+static int close_and_wait(ne_socket *sock)
+{
+ int ret = ne_sock_close(sock);
+
+ ONV(ret, ("failed closing socket: %d", ret));
+
+ return await_server();
+}
+
#ifdef SOCKET_SSL
static int init_ssl(void)
@@ -431,8 +440,8 @@ static int just_connect(void)
ne_socket *sock;
CALL(begin(&sock, serve_close, NULL));
- ne_sock_close(sock);
- return await_server();
+
+ return close_and_wait(sock);
}
/* Connect to an address crafted using ne_iaddr_make rather than from
@@ -448,11 +457,9 @@ static int addr_connect(void)
CALL(new_spawn_server(1, serve_close, NULL, &port));
ONN("could not connect", ne_sock_connect(sock, ia, port));
- ne_sock_close(sock);
- CALL(await_server());
-
ne_iaddr_free(ia);
- return OK;
+
+ return close_and_wait(sock);
}
static int addr_peer(void)
@@ -1003,7 +1010,11 @@ static int echo_server(ne_socket *sock, void *ud)
NE_DEBUG(NE_DBG_SOCKET, "Wrote line.\n");
}
- ONN("readline failed", ret != NE_SOCK_CLOSED);
+ ONV(ret != NE_SOCK_CLOSED, ("unexpected readline failure: %s",
+ ne_sock_error(sock)));
+
+ NE_DEBUG(NE_DBG_SOCKET, "ssl: Readline got closure\n");
+
return 0;
}