summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Orton <jorton@redhat.com>2021-08-04 16:50:21 +0100
committerJoe Orton <jorton@apache.org>2021-08-04 16:59:51 +0100
commitafe9ba59efbe88891e830936567aebad64c71213 (patch)
tree842a40a1ab861454710b06b1de48f56d75e70592
parent8a10afeab2b45ebeddfc193720783f5869581d73 (diff)
downloadneon-git-afe9ba59efbe88891e830936567aebad64c71213.tar.gz
* test/socket.c (serve_reset, write_reset, read_reset): Avoid
spurious failures with synchronisation point in server rathe than sleep.
-rw-r--r--test/socket.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/socket.c b/test/socket.c
index d9be107..fe842d6 100644
--- a/test/socket.c
+++ b/test/socket.c
@@ -1124,7 +1124,10 @@ static int ssl_truncate(void)
/* use W Richard Stevens' SO_LINGER trick to elicit a TCP RST */
static int serve_reset(ne_socket *sock, void *ud)
{
- minisleep();
+ ONV(ne_sock_read(sock, buffer, 1) != 1,
+ ("socket read error `%s'", ne_sock_error(sock)));
+ ONV(buffer[0] != 'R',
+ ("got unexpected byte %c from client", buffer[0]));
reset_socket(sock);
exit(0);
return 0;
@@ -1135,7 +1138,7 @@ static int write_reset(void)
ne_socket *sock;
int ret;
CALL(begin(&sock, serve_reset, NULL));
- CALL(full_write(sock, "a", 1));
+ CALL(full_write(sock, "R", 1));
CALL(await_server());
ret = ne_sock_fullwrite(sock, "a", 1);
if (ret == 0) {
@@ -1156,7 +1159,7 @@ static int read_reset(void)
ne_socket *sock;
ssize_t ret;
CALL(begin(&sock, serve_reset, NULL));
- CALL(full_write(sock, "a", 1));
+ CALL(full_write(sock, "R", 1));
CALL(await_server());
ret = ne_sock_read(sock, buffer, 1);
if (ret == NE_SOCK_CLOSED) {