diff options
Diffstat (limited to 'libglouglou/tests/connect.c')
-rw-r--r-- | libglouglou/tests/connect.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/libglouglou/tests/connect.c b/libglouglou/tests/connect.c index 8184e2d..b8f4d1f 100644 --- a/libglouglou/tests/connect.c +++ b/libglouglou/tests/connect.c @@ -2,12 +2,20 @@ #include "../libglouglou.h" -int connect_ok = 0; +int srv_connect_ok = 0; +int cli_connect_ok = 0; int -handle_conn(struct gg_server *srv, int client_id, struct sockaddr_in *addr) +srv_handle_conn(struct gg_server *srv, struct gg_user *usr, struct sockaddr_in *addr) { - connect_ok = 1; + srv_connect_ok = 1; + return 0; +} + +int +cli_handle_conn(struct gg_client *cli) +{ + cli_connect_ok = 1; return 0; } @@ -17,20 +25,21 @@ main(void) struct event_base *ev_base; ev_base = event_base_new(); - if (!gg_server_start(ev_base, "127.0.0.1", 12345, handle_conn, NULL)) { + if (!gg_server_start(ev_base, "127.0.0.1", 12345, srv_handle_conn, NULL)) { printf("error: gg_server_start returned NULL\n"); return 1; } - if (!gg_client_connect(ev_base, "127.0.0.1", 12345, NULL, NULL)) { + if (!gg_client_connect(ev_base, "127.0.0.1", 12345, cli_handle_conn, NULL)) { printf("error: gg_client_connect returned NULL\n"); return 1; } event_base_loop(ev_base, EVLOOP_ONCE); + event_base_loop(ev_base, EVLOOP_ONCE); - if (connect_ok == 0) { - printf("error: connect_ok == 0\n"); - return 1; - } + if (srv_connect_ok == 0) + printf("error: srv_connect_ok == 0\n"); + if (cli_connect_ok == 0) + printf("error: cli_connect_ok == 0\n"); - return 0; + return (!srv_connect_ok || !cli_connect_ok); } |