Skip to content
Snippets Groups Projects
Commit 07d37cb7 authored by Jan Včelák's avatar Jan Včelák :rocket:
Browse files

tests/net_shortwrite: fix execution on OpenBSD

parent 059c0d87
No related branches found
No related tags found
No related merge requests found
......@@ -21,11 +21,29 @@
#include <string.h>
#include <pthread.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include "knot/server/net.h"
#include "knot/server/tcp-handler.h"
const struct timeval TIMEOUT = { .tv_sec = 1 };
static struct sockaddr_storage localhost(void)
{
struct sockaddr_storage addr = { 0 };
struct addrinfo *res = NULL;
if (getaddrinfo(NULL, "0", NULL, &res) == 0) {
memcpy(&addr, res->ai_addr, res->ai_addrlen);
freeaddrinfo(res);
}
return addr;
}
struct data {
int fd;
struct timeval timeout;
......@@ -48,9 +66,7 @@ int main(int argc, char *argv[])
int r;
// create TCP server
struct sockaddr_storage addr = { 0 };
addr.ss_family = AF_INET;
struct sockaddr_storage addr = localhost();
int server = net_bound_socket(SOCK_STREAM, &addr);
ok(server >= 0, "server: bind socket");
......@@ -83,6 +99,9 @@ int main(int argc, char *argv[])
int accepted = accept(server, NULL, NULL);
ok(accepted >= 0, "server: accepted connection");
r = fcntl(accepted, F_SETFL, O_NONBLOCK);
ok(r == 0, "accepted: set non-blocking mode");
uint8_t recvbuf[UINT16_MAX] = { 0 };
struct data recv_data = {
.fd = accepted,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment