From 97103efdfbc8b14589abc3023e5479b008b7b756 Mon Sep 17 00:00:00 2001 From: henri Date: Sun, 10 Aug 2014 18:31:00 +0000 Subject: [PATCH] Try to trigger connection failure in a more portable way. The former one was hackish and didn't behave consistently between operating systems. Passing in a zero addrlen should reliably make connect(2) fail. --- nsock/tests/connect.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nsock/tests/connect.c b/nsock/tests/connect.c index 78ccfa3cd..e4027bf38 100644 --- a/nsock/tests/connect.c +++ b/nsock/tests/connect.c @@ -86,13 +86,15 @@ static int connect_tcp_failure(void *tdata) { memset(&peer, 0, sizeof(peer)); peer.sin_family = AF_INET; - inet_aton("0.0.0.1", &peer.sin_addr); /* IANA reserved */ + inet_aton("127.0.0.1", &peer.sin_addr); + /* pass in addrlen == 0 to force connect(2) to fail */ nsock_connect_tcp(ctd->nsp, ctd->nsi, connect_handler, 4000, NULL, - (struct sockaddr *)&peer, sizeof(peer), PORT_TCP); + (struct sockaddr *)&peer, 0, PORT_TCP); nsock_loop(ctd->nsp, 4000); - return ctd->connect_result == -EINVAL ? 0 : ctd->connect_result; + AssertEqual(ctd->connect_result, EINVAL); + return 0; }