cosms-core/tests/unit/networking/server.c

82 lines
2.6 KiB
C
Raw Permalink Normal View History

/*
* Copyright (C) Tristan Franssen, <tristanfranssen@strawhats.nl>.
*
* This software is licensed under the Apache License, Version 2.0 (the "License");
* You may not use this file except in compliance with the License.
* You may obtain a copy of the License in the file LICENSE or at
* http://www.apache.org/licenses/LICENSE-2.0
*/
#include "unit/networking/server.h"
#include <cosms-core/networking/server.h>
#include <winsock2.h>
COSMS_CORE_TEST_TEST(server_create_tcp_server,
struct cosms_core_server tcp_server;
CosmsCoreServerError error = cosms_core_server_create(&tcp_server, AF_INET, SOCK_STREAM, 0);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_destroy(&tcp_server);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
return NULL;
)
COSMS_CORE_TEST_TEST(server_create_udp_server,
struct cosms_core_server udp_server;
CosmsCoreServerError error = cosms_core_server_create(&udp_server, AF_INET, SOCK_DGRAM, 0);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_destroy(&udp_server);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
return NULL;
)
COSMS_CORE_TEST_TEST(server_listen_on_tcp_server,
struct cosms_core_server tcp_server;
CosmsCoreServerError error = cosms_core_server_create(&tcp_server, AF_INET, SOCK_STREAM, 0);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_listen(&tcp_server, 10);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_destroy(&tcp_server);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
return NULL;
)
COSMS_CORE_TEST_TEST(server_listen_on_udp_server,
struct cosms_core_server udp_server;
CosmsCoreServerError error = cosms_core_server_create(&udp_server, AF_INET, SOCK_DGRAM, 0);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_listen(&udp_server, 10);
if (error != COSMS_CORE_SERVER_COULD_NOT_SET_MODE) {
return cosms_core_server_error_string(error);
}
error = cosms_core_server_destroy(&udp_server);
if (error != COSMS_CORE_SERVER_OK) {
return cosms_core_server_error_string(error);
}
return NULL;
)