diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index 2fff416a70..738f9297b3 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -187,8 +187,6 @@ TESTS += tests/ecore/ecore_suite tests_ecore_ecore_suite_SOURCES = \ tests/ecore/ecore_suite.c \ tests/ecore/ecore_test_ecore.c \ -tests/ecore/ecore_test_ecore_con.c \ -tests/ecore/ecore_test_ecore_con_url.c \ tests/ecore/ecore_test_ecore_imf.c \ tests/ecore/ecore_test_timer.c \ tests/ecore/ecore_test_ecore_evas.c \ @@ -204,7 +202,6 @@ tests_ecore_ecore_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ @CHECK_CFLAGS@ \ @ECORE_CFLAGS@ \ @ECORE_AUDIO_CFLAGS@ \ -@ECORE_CON_CFLAGS@ \ @ECORE_FILE_CFLAGS@ \ @ECORE_X_CFLAGS@ \ @ECORE_IMF_CFLAGS@ \ @@ -219,7 +216,6 @@ tests_ecore_ecore_suite_LDADD = \ @CHECK_LIBS@ \ @USE_ECORE_LIBS@ \ @USE_ECORE_AUDIO_LIBS@ \ -@USE_ECORE_CON_LIBS@ \ @USE_ECORE_FILE_LIBS@ \ @USE_ECORE_X_LIBS@ \ @USE_ECORE_IMF_LIBS@ \ @@ -232,7 +228,6 @@ tests_ecore_ecore_suite_LDADD = \ tests_ecore_ecore_suite_DEPENDENCIES = \ @USE_ECORE_INTERNAL_LIBS@ \ @USE_ECORE_AUDIO_INTERNAL_LIBS@ \ -@USE_ECORE_CON_INTERNAL_LIBS@ \ @USE_ECORE_FILE_INTERNAL_LIBS@ \ @USE_ECORE_X_INTERNAL_LIBS@ \ @USE_ECORE_IMF_INTERNAL_LIBS@ \ @@ -266,9 +261,7 @@ endif EXTRA_DIST += \ tests/ecore/modem.wav \ -tests/ecore/sms.ogg \ -tests/ecore/server.key \ -tests/ecore/server.pem +tests/ecore/sms.ogg if HAVE_ELUA diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am index e482ca4a75..1b063d082c 100644 --- a/src/Makefile_Ecore_Con.am +++ b/src/Makefile_Ecore_Con.am @@ -69,6 +69,41 @@ lib_ecore_con_libecore_con_la_LIBADD = @ECORE_CON_LIBS@ @EVIL_LIBS@ lib_ecore_con_libecore_con_la_DEPENDENCIES = @ECORE_CON_INTERNAL_LIBS@ lib_ecore_con_libecore_con_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ +### Unit tests + +if EFL_ENABLE_TESTS + +check_PROGRAMS += tests/ecore_con/ecore_con_suite +TESTS += tests/ecore_con/ecore_con_suite + +tests_ecore_con_ecore_con_suite_SOURCES = \ +tests/ecore_con/ecore_con_suite.c \ +tests/ecore_con/ecore_con_test_ecore_con.c \ +tests/ecore_con/ecore_con_test_ecore_con_url.c \ +tests/ecore_con/ecore_con_suite.h + +tests_ecore_con_ecore_con_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ +-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ecore_con\" \ +-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/ecore_con\" \ +@CHECK_CFLAGS@ \ +@ECORE_CFLAGS@ \ +@ECORE_CON_CFLAGS@ + +tests_ecore_con_ecore_con_suite_LDADD = \ +@CHECK_LIBS@ \ +@USE_ECORE_LIBS@ \ +@USE_ECORE_CON_LIBS@ + +tests_ecore_con_ecore_con_suite_DEPENDENCIES = \ +@USE_ECORE_INTERNAL_LIBS@ \ +@USE_ECORE_CON_INTERNAL_LIBS@ + +EXTRA_DIST += \ +tests/ecore_con/server.key \ +tests/ecore_con/server.pem + +endif + if HAVE_ELUA ecore_con_eolian_lua = $(ecore_con_eolian_files:%.eo=%.eo.lua) diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c index e3804a5b48..898f471bdc 100644 --- a/src/tests/ecore/ecore_suite.c +++ b/src/tests/ecore/ecore_suite.c @@ -19,8 +19,6 @@ struct _Ecore_Test_Case static const Ecore_Test_Case etc[] = { { "Ecore", ecore_test_ecore }, - { "Ecore_Con", ecore_test_ecore_con }, - { "Ecore_Con_Url", ecore_test_ecore_con_url }, #if HAVE_ECORE_X { "Ecore_X", ecore_test_ecore_x }, #endif diff --git a/src/tests/ecore/ecore_suite.h b/src/tests/ecore/ecore_suite.h index 11e101de23..e6dd4b38c4 100644 --- a/src/tests/ecore/ecore_suite.h +++ b/src/tests/ecore/ecore_suite.h @@ -4,8 +4,6 @@ #include void ecore_test_ecore(TCase *tc); -void ecore_test_ecore_con(TCase *tc); -void ecore_test_ecore_con_url(TCase *tc); void ecore_test_ecore_x(TCase *tc); void ecore_test_ecore_imf(TCase *tc); void ecore_test_ecore_audio(TCase *tc); diff --git a/src/tests/ecore_con/ecore_con_suite.c b/src/tests/ecore_con/ecore_con_suite.c new file mode 100644 index 0000000000..b695873e5e --- /dev/null +++ b/src/tests/ecore_con/ecore_con_suite.c @@ -0,0 +1,106 @@ +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include + +#include "Ecore.h" + +#include "ecore_con_suite.h" + +typedef struct _Ecore_Con_Test_Case Ecore_Con_Test_Case; + +struct _Ecore_Con_Test_Case +{ + const char *test_case; + void (*build)(TCase *tc); +}; + +static const Ecore_Con_Test_Case etc[] = { + { "Ecore_Con", ecore_con_test_ecore_con }, + { "Ecore_Con_Url", ecore_con_test_ecore_con_url }, + { NULL, NULL } +}; + +static void +_list_tests(void) +{ + const Ecore_Con_Test_Case *itr; + + itr = etc; + fputs("Available Test Cases:\n", stderr); + for (; itr->test_case; itr++) + fprintf(stderr, "\t%s\n", itr->test_case); +} +static Eina_Bool +_use_test(int argc, const char **argv, const char *test_case) +{ + if (argc < 1) + return 1; + + for (; argc > 0; argc--, argv++) + if (strcmp(test_case, *argv) == 0) + return 1; + return 0; +} + +static Suite * +ecore_con_suite_build(int argc, const char **argv) +{ + TCase *tc; + Suite *s; + int i; + + s = suite_create("Ecore_Con"); + + for (i = 0; etc[i].test_case; ++i) + { + if (!_use_test(argc, argv, etc[i].test_case)) continue; + tc = tcase_create(etc[i].test_case); + + etc[i].build(tc); + + suite_add_tcase(s, tc); + tcase_set_timeout(tc, 0); + } + + return s; +} + +int +main(int argc, char **argv) +{ + Suite *s; + SRunner *sr; + int i, failed_count; + + for (i = 1; i < argc; i++) + if ((strcmp(argv[i], "-h") == 0) || + (strcmp(argv[i], "--help") == 0)) + { + fprintf(stderr, "Usage:\n\t%s [test_case1 .. [test_caseN]]\n", + argv[0]); + _list_tests(); + return 0; + } + else if ((strcmp(argv[i], "-l") == 0) || + (strcmp(argv[i], "--list") == 0)) + { + _list_tests(); + return 0; + } + + putenv("EFL_RUN_IN_TREE=1"); + + s = ecore_con_suite_build(argc - 1, (const char **)argv + 1); + sr = srunner_create(s); + + srunner_set_xml(sr, TESTS_BUILD_DIR "/check-results.xml"); + + srunner_run_all(sr, CK_ENV); + failed_count = srunner_ntests_failed(sr); + srunner_free(sr); + + return (failed_count == 0) ? 0 : 255; +} diff --git a/src/tests/ecore_con/ecore_con_suite.h b/src/tests/ecore_con/ecore_con_suite.h new file mode 100644 index 0000000000..923218948d --- /dev/null +++ b/src/tests/ecore_con/ecore_con_suite.h @@ -0,0 +1,9 @@ +#ifndef _ECORE_CON_SUITE_H +#define _ECORE_CON_SUITE_H + +#include + +void ecore_con_test_ecore_con(TCase *tc); +void ecore_con_test_ecore_con_url(TCase *tc); + +#endif /* _ECORE_CON_SUITE_H */ diff --git a/src/tests/ecore/ecore_test_ecore_con.c b/src/tests/ecore_con/ecore_con_test_ecore_con.c similarity index 75% rename from src/tests/ecore/ecore_test_ecore_con.c rename to src/tests/ecore_con/ecore_con_test_ecore_con.c index 686c21ca21..1d8379ee4d 100644 --- a/src/tests/ecore/ecore_test_ecore_con.c +++ b/src/tests/ecore_con/ecore_con_test_ecore_con.c @@ -2,7 +2,7 @@ # include #endif -#include "ecore_suite.h" +#include "ecore_con_suite.h" #include #include @@ -15,47 +15,47 @@ Eina_Bool _add(void *data, int type EINA_UNUSED, void *ev) { fail_if (type != ECORE_CON_EVENT_CLIENT_ADD && - type != ECORE_CON_EVENT_SERVER_ADD); + type != ECORE_CON_EVENT_SERVER_ADD); /* Server */ if (type == ECORE_CON_EVENT_CLIENT_ADD) { - Ecore_Con_Event_Client_Add *event = ev; - double timeout_val = 10, ret; - void *del_data; + Ecore_Con_Event_Client_Add *event = ev; + double timeout_val = 10, ret; + void *del_data; - fail_if (data != (void *) 1); - fail_if (!event->client); + fail_if (data != (void *) 1); + fail_if (!event->client); - printf("Client with ip %s, port %d, connected = %d!\n", - ecore_con_client_ip_get(event->client), - ecore_con_client_port_get(event->client), - ecore_con_client_connected_get(event->client)); + printf("Client with ip %s, port %d, connected = %d!\n", + ecore_con_client_ip_get(event->client), + ecore_con_client_port_get(event->client), + ecore_con_client_connected_get(event->client)); - ecore_con_client_timeout_set(event->client, timeout_val); - ret = ecore_con_client_timeout_get(event->client); - fail_if (ret != timeout_val); + ecore_con_client_timeout_set(event->client, timeout_val); + ret = ecore_con_client_timeout_get(event->client); + fail_if (ret != timeout_val); - ecore_con_client_data_set(event->client, cdata); - del_data = ecore_con_client_data_get(event->client); - fail_if (strcmp((char *)del_data, cdata)); + ecore_con_client_data_set(event->client, cdata); + del_data = ecore_con_client_data_get(event->client); + fail_if (strcmp((char *)del_data, cdata)); } else if (type == ECORE_CON_EVENT_SERVER_ADD) { - Ecore_Con_Event_Server_Add *event = ev; - const char ping[] = "PING"; - int ret; + Ecore_Con_Event_Server_Add *event = ev; + const char ping[] = "PING"; + int ret; - fail_if (data != (void *) 2); - fail_if (!event->server); - printf("Server with ip %s, name %s, port %d, connected = %d!\n", - ecore_con_server_ip_get(event->server), - ecore_con_server_name_get(event->server), - ecore_con_server_port_get(event->server), - ecore_con_server_connected_get(event->server)); - ret = ecore_con_server_send(event->server, ping, sizeof(ping)); - fail_if (ret != sizeof(ping)); - ecore_con_server_flush(event->server); + fail_if (data != (void *) 2); + fail_if (!event->server); + printf("Server with ip %s, name %s, port %d, connected = %d!\n", + ecore_con_server_ip_get(event->server), + ecore_con_server_name_get(event->server), + ecore_con_server_port_get(event->server), + ecore_con_server_connected_get(event->server)); + ret = ecore_con_server_send(event->server, ping, sizeof(ping)); + fail_if (ret != sizeof(ping)); + ecore_con_server_flush(event->server); } return ECORE_CALLBACK_RENEW; @@ -67,34 +67,35 @@ _del(void *data , int type EINA_UNUSED, void *ev) void *del_data; fail_if (type != ECORE_CON_EVENT_CLIENT_DEL && - type != ECORE_CON_EVENT_SERVER_DEL); + type != ECORE_CON_EVENT_SERVER_DEL); /* Server */ if (type == ECORE_CON_EVENT_CLIENT_DEL) { - Ecore_Con_Event_Client_Del *event = ev; + Ecore_Con_Event_Client_Del *event = ev; - fail_if (data != (void *) 1); - fail_if (!event->client); + fail_if (data != (void *) 1); + fail_if (!event->client); - printf("Lost client with ip %s!\n", ecore_con_client_ip_get(event->client)); - printf("Client was connected for %0.3f seconds.\n", - ecore_con_client_uptime_get(event->client)); + printf("Lost client with ip %s!\n", + ecore_con_client_ip_get(event->client)); + printf("Client was connected for %0.3f seconds.\n", + ecore_con_client_uptime_get(event->client)); - del_data = ecore_con_client_del(event->client); - fail_if (strcmp((char *)del_data, cdata)); + del_data = ecore_con_client_del(event->client); + fail_if (strcmp((char *)del_data, cdata)); } else if (type == ECORE_CON_EVENT_SERVER_DEL) { - Ecore_Con_Event_Server_Del *event = ev; + Ecore_Con_Event_Server_Del *event = ev; - fail_if (!event->server); + fail_if (!event->server); - fail_if (data != (void *) 2); + fail_if (data != (void *) 2); - printf("Lost server with ip %s!\n", ecore_con_server_ip_get(event->server)); + printf("Lost server with ip %s!\n", ecore_con_server_ip_get(event->server)); - ecore_con_server_del(event->server); + ecore_con_server_del(event->server); } fail (); @@ -106,52 +107,52 @@ _data(void *data, int type EINA_UNUSED, void *ev) { fail_if (type != ECORE_CON_EVENT_CLIENT_DATA && - type != ECORE_CON_EVENT_SERVER_DATA); + type != ECORE_CON_EVENT_SERVER_DATA); /* Server */ if (type == ECORE_CON_EVENT_CLIENT_DATA) { - Ecore_Con_Event_Client_Data *event = ev; - const char pong[] = "PONG"; - int ret; + Ecore_Con_Event_Client_Data *event = ev; + const char pong[] = "PONG"; + int ret; - char fmt[128]; - fail_if (data != (void *) 1); + char fmt[128]; + fail_if (data != (void *) 1); - snprintf(fmt, sizeof(fmt), - "Received %i bytes from client %s port %d:\n" - ">>>>>\n" - "%%.%is\n" - ">>>>>\n", - event->size, ecore_con_client_ip_get(event->client), - ecore_con_client_port_get(event->client), event->size); + snprintf(fmt, sizeof(fmt), + "Received %i bytes from client %s port %d:\n" + ">>>>>\n" + "%%.%is\n" + ">>>>>\n", + event->size, ecore_con_client_ip_get(event->client), + ecore_con_client_port_get(event->client), event->size); - printf(fmt, event->data); - fail_if (event->size != sizeof("PING")); - fail_if (memcmp (event->data, "PING", sizeof("PING")) != 0); + printf(fmt, event->data); + fail_if (event->size != sizeof("PING")); + fail_if (memcmp (event->data, "PING", sizeof("PING")) != 0); - ret = ecore_con_client_send(event->client, pong, sizeof(pong)); - fail_if (ret != sizeof(pong)); - ecore_con_client_flush(event->client); + ret = ecore_con_client_send(event->client, pong, sizeof(pong)); + fail_if (ret != sizeof(pong)); + ecore_con_client_flush(event->client); } else if (type == ECORE_CON_EVENT_SERVER_DATA) { - Ecore_Con_Event_Server_Data *event = ev; - char fmt[128]; + Ecore_Con_Event_Server_Data *event = ev; + char fmt[128]; - fail_if (data != (void *) 2); + fail_if (data != (void *) 2); - snprintf(fmt, sizeof(fmt), - "Received %i bytes from server:\n" - ">>>>>\n" - "%%.%is\n" - ">>>>>\n", - event->size, event->size); + snprintf(fmt, sizeof(fmt), + "Received %i bytes from server:\n" + ">>>>>\n" + "%%.%is\n" + ">>>>>\n", + event->size, event->size); - printf(fmt, event->data); - fail_if (event->size != sizeof("PONG")); - fail_if (memcmp (event->data, "PONG", sizeof("PONG")) != 0); - ecore_main_loop_quit(); + printf(fmt, event->data); + fail_if (event->size != sizeof("PONG")); + fail_if (memcmp (event->data, "PONG", sizeof("PONG")) != 0); + ecore_main_loop_quit(); } return ECORE_CALLBACK_RENEW; @@ -195,29 +196,29 @@ void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char *name, fail_if(ret != 1); handlers[0] = ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_ADD, - _add, (void *) 1); + _add, (void *) 1); fail_if(handlers[0] == NULL); handlers[1] = ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_DEL, - _del, (void *) 1); + _del, (void *) 1); fail_if(handlers[1] == NULL); handlers[2] = ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_DATA, - _data, (void *) 1); + _data, (void *) 1); fail_if(handlers[2] == NULL); handlers[3] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ADD, - _add, (void *) 2); + _add, (void *) 2); fail_if(handlers[3] == NULL); handlers[4] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DEL, - _del, (void *) 2); + _del, (void *) 2); fail_if(handlers[4] == NULL); handlers[5] = ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA, - _data, (void *) 2); + _data, (void *) 2); fail_if(handlers[5] == NULL); fail_if (ecore_con_server_connected_get(server)); server = ecore_con_server_add(compl_type, name, server_port, - server_data); + server_data); fail_if (server == NULL); if (is_ssl) @@ -244,7 +245,7 @@ void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char *name, ecore_con_server_client_limit_set(server, 1, 0); client = ecore_con_server_connect(compl_type, name, server_port, - client_data); + client_data); fail_if (client == NULL); if (is_ssl) @@ -263,7 +264,7 @@ void _ecore_con_server_client_tests(Ecore_Con_Type compl_type, const char *name, eina_list_count(clients)); EINA_LIST_FOREACH(clients, l, cl) { - printf("%s\n", ecore_con_client_ip_get(cl)); + printf("%s\n", ecore_con_client_ip_get(cl)); } printf("Server was up for %0.3f seconds\n", @@ -331,13 +332,13 @@ START_TEST(ecore_test_ecore_con_local_user_none) { const char *xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"); const char *homedir = getenv("HOME"); - const char *tmp = getenv("TMP"); + const char *tmp = getenv("TMPDIR"); unsetenv("XDG_RUNTIME_DIR"); unsetenv("HOME"); - unsetenv("TMP"); + unsetenv("TMPDIR"); _ecore_con_server_client_tests(ECORE_CON_LOCAL_USER, "test_sock", EINA_FALSE, 12345); - setenv("TMP", tmp, 1); + setenv("TMPDIR", tmp, 1); setenv("HOME", homedir, 1); setenv("XDG_RUNTIME_DIR", xdg_runtime_dir, 1); } @@ -531,7 +532,7 @@ START_TEST(ecore_test_ecore_con_shutdown_bef_init) } END_TEST -void ecore_test_ecore_con(TCase *tc) +void ecore_con_test_ecore_con(TCase *tc) { tcase_add_test(tc, ecore_test_ecore_con_init); tcase_add_test(tc, ecore_test_ecore_con_local_user); diff --git a/src/tests/ecore/ecore_test_ecore_con_url.c b/src/tests/ecore_con/ecore_con_test_ecore_con_url.c similarity index 99% rename from src/tests/ecore/ecore_test_ecore_con_url.c rename to src/tests/ecore_con/ecore_con_test_ecore_con_url.c index 99554c2942..0ddcfe5501 100644 --- a/src/tests/ecore/ecore_test_ecore_con_url.c +++ b/src/tests/ecore_con/ecore_con_test_ecore_con_url.c @@ -2,7 +2,7 @@ # include #endif -#include "ecore_suite.h" +#include "ecore_con_suite.h" #include #include @@ -318,7 +318,7 @@ START_TEST(ecore_test_ecore_con_url_init) } END_TEST -void ecore_test_ecore_con_url(TCase *tc) +void ecore_con_test_ecore_con_url(TCase *tc) { tcase_add_test(tc, ecore_test_ecore_con_url_init); tcase_add_test(tc, ecore_test_ecore_con_url_create); diff --git a/src/tests/ecore/server.key b/src/tests/ecore_con/server.key similarity index 100% rename from src/tests/ecore/server.key rename to src/tests/ecore_con/server.key diff --git a/src/tests/ecore/server.pem b/src/tests/ecore_con/server.pem similarity index 100% rename from src/tests/ecore/server.pem rename to src/tests/ecore_con/server.pem