X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=t%2Funit%2Ffrontend%2Fconnection_test.c;h=b4cc1878555198425a44e7b3bb4abe9acd691de5;hp=13ae221a0f509e6f8402c2c5c10e838f4df8b2ef;hb=967d9181f6329ca00b910c0c458b1c6b60f2a0d6;hpb=13fe0f9ec3d161fab7a015054649910541d75f5e diff --git a/t/unit/frontend/connection_test.c b/t/unit/frontend/connection_test.c index 13ae221..b4cc187 100644 --- a/t/unit/frontend/connection_test.c +++ b/t/unit/frontend/connection_test.c @@ -31,9 +31,8 @@ #include "frontend/connection.h" #include "frontend/connection-private.h" -#include "utils/proto.h" #include "utils/os.h" -#include "libsysdb_test.h" +#include "testutils.h" #include "utils/strbuf.h" @@ -70,6 +69,18 @@ mock_conn_destroy(sdb_conn_t *conn) free(conn); } /* mock_conn_destroy */ +static ssize_t +mock_conn_read(sdb_conn_t *conn, size_t len) +{ + return sdb_strbuf_read(conn->buf, conn->fd, len); +} /* conn_read */ + +static ssize_t +mock_conn_write(sdb_conn_t *conn, const void *buf, size_t len) +{ + return sdb_write(conn->fd, len, buf); +} /* conn_write */ + static sdb_conn_t * mock_conn_create(void) { @@ -103,6 +114,9 @@ mock_conn_create(void) unlink(tmp_file); + conn->read = mock_conn_read; + conn->write = mock_conn_write; + conn->username = strdup(username); assert(conn->username); @@ -189,13 +203,13 @@ connection_startup(sdb_conn_t *conn) username, check, expected); mock_conn_rewind(conn); - check = sdb_connection_read(conn); + check = sdb_connection_handle(conn); fail_unless(check == expected, - "On startup: sdb_connection_read() = %zi; expected: %zi", + "On startup: sdb_connection_handle() = %zi; expected: %zi", check, expected); fail_unless(sdb_strbuf_len(conn->errbuf) == 0, - "sdb_connection_read() left %zu bytes in the error " + "sdb_connection_handle() left %zu bytes in the error " "buffer (%s); expected: 0", sdb_strbuf_len(conn->errbuf), sdb_strbuf_string(conn->errbuf)); @@ -215,7 +229,7 @@ START_TEST(test_conn_accept) pthread_t thr; - conn = sdb_connection_accept(-1); + conn = sdb_connection_accept(-1, NULL, NULL); fail_unless(conn == NULL, "sdb_connection_accept(-1) = %p; expected: NULL", conn); @@ -228,12 +242,13 @@ START_TEST(test_conn_accept) fail_unless(check == 0, "INTERNAL ERROR: pthread_create() = %i; expected: 0", check); - conn = sdb_connection_accept(fd); + conn = sdb_connection_accept(fd, NULL, NULL); fail_unless(conn != NULL, "sdb_connection_accept(%d) = %p; expected: ", fd, conn); unlink(socket_path); sdb_connection_close(conn); + sdb_object_deref(SDB_OBJ(conn)); pthread_join(thr, NULL); } END_TEST @@ -282,24 +297,24 @@ START_TEST(test_conn_setup) } mock_conn_rewind(conn); - check = sdb_connection_read(conn); + check = sdb_connection_handle(conn); fail_unless(check == expected, - "sdb_connection_read() = %zi; expected: %zi", + "sdb_connection_handle() = %zi; expected: %zi", check, expected); fail_unless(sdb_strbuf_len(conn->buf) == 0, - "sdb_connection_read() left %zu bytes in the buffer; " + "sdb_connection_handle() left %zu bytes in the buffer; " "expected: 0", sdb_strbuf_len(conn->buf)); if (golden_data[i].err) { const char *err = sdb_strbuf_string(conn->errbuf); fail_unless(strcmp(err, golden_data[i].err) == 0, - "sdb_connection_read(): got error '%s'; " + "sdb_connection_handle(): got error '%s'; " "expected: '%s'", err, golden_data[i].err); } else fail_unless(sdb_strbuf_len(conn->errbuf) == 0, - "sdb_connection_read() left %zu bytes in the error " + "sdb_connection_handle() left %zu bytes in the error " "buffer (%s); expected: 0", sdb_strbuf_len(conn->errbuf), sdb_strbuf_string(conn->errbuf)); } @@ -370,50 +385,50 @@ START_TEST(test_conn_io) memcpy(buffer + offset, golden_data[i].msg, strlen(golden_data[i].msg)); - check = sdb_proto_send(conn->fd, msg_len, buffer); + check = sdb_write(conn->fd, msg_len, buffer); fail_unless(check == (ssize_t)msg_len, - "sdb_proto_send(%s) = %zi; expected: %zu", + "sdb_write(%s) = %zi; expected: %zu", check, msg_len); mock_conn_rewind(conn); - check = sdb_connection_read(conn); + check = sdb_connection_handle(conn); fail_unless(check == (ssize_t)msg_len, - "sdb_connection_read() = %zi; expected: %zu", + "sdb_connection_handle() = %zi; expected: %zu", check, msg_len); if (golden_data[i].buf_len) { /* partial commands need to be stored in the object */ fail_unless(conn->cmd == golden_data[i].code, - "sdb_connection_read() set partial command " + "sdb_connection_handle() set partial command " "to %u; expected: %u", conn->cmd, golden_data[i].code); fail_unless(conn->cmd_len > golden_data[i].buf_len, - "sdb_connection_read() set partial command length " + "sdb_connection_handle() set partial command length " "to %u; expected: > %u", conn->cmd_len, golden_data[i].buf_len); } else { fail_unless(conn->cmd == SDB_CONNECTION_IDLE, - "sdb_connection_read() did not reset command; " + "sdb_connection_handle() did not reset command; " "got %u; expected: %u", conn->cmd, SDB_CONNECTION_IDLE); fail_unless(conn->cmd_len == 0, - "sdb_connection_read() did not reset command length; " + "sdb_connection_handle() did not reset command length; " "got %u; expected: 0", conn->cmd_len); } fail_unless(sdb_strbuf_len(conn->buf) == golden_data[i].buf_len, - "sdb_connection_read() left %zu bytes in the buffer; " + "sdb_connection_handle() left %zu bytes in the buffer; " "expected: %zu", sdb_strbuf_len(conn->buf), golden_data[i].buf_len); if (golden_data[i].err) { const char *err = sdb_strbuf_string(conn->errbuf); fail_unless(strcmp(err, golden_data[i].err) == 0, - "sdb_connection_read(): got error '%s'; " + "sdb_connection_handle(): got error '%s'; " "expected: '%s'", err, golden_data[i].err); } else fail_unless(sdb_strbuf_len(conn->errbuf) == 0, - "sdb_connection_read() left %zu bytes in the error " + "sdb_connection_handle() left %zu bytes in the error " "buffer; expected: 0", sdb_strbuf_len(conn->errbuf)); } @@ -421,10 +436,8 @@ START_TEST(test_conn_io) } END_TEST -Suite * -fe_conn_suite(void) +TEST_MAIN("frontend::connection") { - Suite *s = suite_create("frontend::connection"); TCase *tc; char *tmp = sdb_get_current_user(); @@ -436,10 +449,9 @@ fe_conn_suite(void) tcase_add_test(tc, test_conn_accept); tcase_add_test(tc, test_conn_setup); tcase_add_test(tc, test_conn_io); - suite_add_tcase(s, tc); - - return s; -} /* fe_conn_suite */ + ADD_TCASE(tc); +} +TEST_MAIN_END /* vim: set tw=78 sw=4 ts=4 noexpandtab : */