#include <stdio.h> #include <errno.h> #include <kc.h> #include <kc_ut.h> #include <kc_assert.h> #include <kc_memory.h> #include <kc_threads.h> #include <kc_socket.h> #include "ut.h" // プロトタイプ宣言 static void test_socket_new(void); /** * KcSocket 単体テストスイート */ void suite_socket(void) { KcUt *ut = KcUt_get_instance(); ut->add(ut, UT_TESTCASE, "socket new/delete", test_socket_new); } /** * Socket 生成/破棄。 * * @process KcSocket_new を実行する。。 * @result KcSocket が生成されること。 * * @process KcSocket_delete にて Queue を破棄する。 * @result Socket が破棄されること。 */ static void test_socket_new(void) { KcSocket *server = KcSocket_new(SOCK_STREAM, AF_UNSPEC); assert_not_null(server); KcSocket *client = KcSocket_new(SOCK_STREAM, AF_UNSPEC); assert_not_null(server); bool ret = server->bind(server, "127.0.0.1", "5000"); assert_true(ret); ret = server->listen(server, 1); assert_true(ret); ret = client->connect(client, "127.0.0.1", "5000", NULL, NULL); assert_true(ret); KcSocket_delete(server); KcSocket_delete(client); }