forked from enlightenment/efl
tests: move efl_loop_fd tests into efl_app_suite
Summary: ref T6815 Depends on D5898 Reviewers: stefan_schmidt Subscribers: cedric Maniphest Tasks: T6815 Differential Revision: https://phab.enlightenment.org/D5899
This commit is contained in:
parent
f83dfb2173
commit
3b22dbc5af
|
@ -330,6 +330,7 @@ tests_ecore_ecore_suite_DEPENDENCIES = \
|
|||
|
||||
tests_ecore_efl_app_suite_SOURCES = \
|
||||
tests/ecore/efl_app_test_loop.c \
|
||||
tests/ecore/efl_app_test_loop_fd.c \
|
||||
tests/ecore/efl_app_test_loop_timer.c \
|
||||
tests/ecore/efl_app_suite.c \
|
||||
tests/ecore/efl_app_suite.h
|
||||
|
|
|
@ -224,92 +224,6 @@ EFL_START_TEST(ecore_test_ecore_main_loop_fd_handler_valid_flags)
|
|||
}
|
||||
EFL_END_TEST
|
||||
|
||||
static void
|
||||
_eo_read_cb(void *data, const Efl_Event *info EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool *did = data;
|
||||
|
||||
*did = EINA_TRUE;
|
||||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
EFL_START_TEST(ecore_test_efl_loop_fd)
|
||||
{
|
||||
Eina_Bool did = EINA_FALSE;
|
||||
Eo *fd;
|
||||
int comm[2];
|
||||
int ret;
|
||||
|
||||
ret = pipe(comm);
|
||||
fail_if(ret != 0);
|
||||
|
||||
fd = efl_add(EFL_LOOP_FD_CLASS, efl_main_loop_get(),
|
||||
efl_loop_fd_set(efl_added, comm[0]),
|
||||
efl_event_callback_add(efl_added, EFL_LOOP_FD_EVENT_READ, _eo_read_cb, &did));
|
||||
fail_if(fd == NULL);
|
||||
|
||||
ret = write(comm[1], &did, 1);
|
||||
fail_if(ret != 1);
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
close(comm[0]);
|
||||
close(comm[1]);
|
||||
|
||||
fail_if(did == EINA_FALSE);
|
||||
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
static void
|
||||
_efl_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool *dead = data;
|
||||
|
||||
*dead = EINA_TRUE;
|
||||
}
|
||||
|
||||
EFL_START_TEST(ecore_test_efl_loop_fd_lifecycle)
|
||||
{
|
||||
Eina_Bool did = EINA_FALSE;
|
||||
Eina_Bool dead = EINA_FALSE;
|
||||
Eo *fd;
|
||||
int comm[2];
|
||||
int ret;
|
||||
|
||||
efl_object_init();
|
||||
|
||||
ret = pipe(comm);
|
||||
fail_if(ret != 0);
|
||||
|
||||
fd = efl_add(EFL_LOOP_FD_CLASS, efl_main_loop_get(),
|
||||
efl_loop_fd_set(efl_added, comm[0]),
|
||||
efl_event_callback_add(efl_added, EFL_LOOP_FD_EVENT_READ, _eo_read_cb, &did),
|
||||
efl_event_callback_add(efl_added, EFL_EVENT_DEL, _efl_del_cb, &dead));
|
||||
efl_ref(fd);
|
||||
fail_if(fd == NULL);
|
||||
|
||||
ret = write(comm[1], &did, 1);
|
||||
fail_if(ret != 1);
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
close(comm[0]);
|
||||
close(comm[1]);
|
||||
|
||||
fail_if(did == EINA_FALSE);
|
||||
fail_if(dead == EINA_TRUE);
|
||||
|
||||
ecore_shutdown();
|
||||
ecore_init();
|
||||
|
||||
efl_del(fd);
|
||||
fail_if(dead == EINA_FALSE);
|
||||
|
||||
efl_object_shutdown();
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
EFL_START_TEST(ecore_test_ecore_main_loop_fd_handler_activate_modify)
|
||||
{
|
||||
Eina_Bool did = EINA_FALSE;
|
||||
|
@ -788,6 +702,4 @@ void ecore_test_ecore(TCase *tc)
|
|||
tcase_add_test(tc, ecore_test_ecore_main_loop_poller_add);
|
||||
tcase_add_test(tc, ecore_test_ecore_main_loop_poller_del);
|
||||
tcase_add_test(tc, ecore_test_ecore_main_loop_poller_modify);
|
||||
tcase_add_test(tc, ecore_test_efl_loop_fd);
|
||||
tcase_add_test(tc, ecore_test_efl_loop_fd_lifecycle);
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ static const Efl_Test_Case etc[] = {
|
|||
{ "App", efl_test_efl_app },
|
||||
{ "Loop", efl_app_test_efl_loop },
|
||||
{ "Loop_Timer", efl_app_test_efl_loop_timer },
|
||||
{ "Loop_FD", efl_app_test_efl_loop_fd },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "../efl_check.h"
|
||||
void efl_app_test_efl_app(TCase *tc);
|
||||
void efl_app_test_efl_loop(TCase *tc);
|
||||
void efl_app_test_efl_loop_fd(TCase *tc);
|
||||
void efl_app_test_efl_loop_timer(TCase *tc);
|
||||
|
||||
#endif /* _EFL_APP_SUITE_H */
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#define EFL_NOLEGACY_API_SUPPORT
|
||||
#include <Efl_Core.h>
|
||||
#include <Efl_Net.h>
|
||||
#include "efl_app_suite.h"
|
||||
#include "../efl_check.h"
|
||||
|
||||
|
||||
static void
|
||||
_eo_read_cb(void *data, const Efl_Event *info EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool *did = data;
|
||||
|
||||
*did = EINA_TRUE;
|
||||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
EFL_START_TEST(ecore_test_efl_loop_fd)
|
||||
{
|
||||
Eina_Bool did = EINA_FALSE;
|
||||
Eo *fd;
|
||||
int comm[2];
|
||||
int ret;
|
||||
|
||||
ret = pipe(comm);
|
||||
fail_if(ret != 0);
|
||||
|
||||
fd = efl_add(EFL_LOOP_FD_CLASS, efl_main_loop_get(),
|
||||
efl_loop_fd_set(efl_added, comm[0]),
|
||||
efl_event_callback_add(efl_added, EFL_LOOP_FD_EVENT_READ, _eo_read_cb, &did));
|
||||
fail_if(fd == NULL);
|
||||
|
||||
ret = write(comm[1], &did, 1);
|
||||
fail_if(ret != 1);
|
||||
|
||||
efl_loop_begin(efl_main_loop_get());
|
||||
|
||||
close(comm[0]);
|
||||
close(comm[1]);
|
||||
|
||||
fail_if(did == EINA_FALSE);
|
||||
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
static void
|
||||
_efl_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||
{
|
||||
Eina_Bool *dead = data;
|
||||
|
||||
*dead = EINA_TRUE;
|
||||
}
|
||||
|
||||
EFL_START_TEST(ecore_test_efl_loop_fd_lifecycle)
|
||||
{
|
||||
Eina_Bool did = EINA_FALSE;
|
||||
Eina_Bool dead = EINA_FALSE;
|
||||
Eo *fd;
|
||||
int comm[2];
|
||||
int ret;
|
||||
|
||||
ret = pipe(comm);
|
||||
fail_if(ret != 0);
|
||||
|
||||
fd = efl_add(EFL_LOOP_FD_CLASS, efl_main_loop_get(),
|
||||
efl_loop_fd_set(efl_added, comm[0]),
|
||||
efl_event_callback_add(efl_added, EFL_LOOP_FD_EVENT_READ, _eo_read_cb, &did),
|
||||
efl_event_callback_add(efl_added, EFL_EVENT_DEL, _efl_del_cb, &dead));
|
||||
fail_if(fd == NULL);
|
||||
|
||||
ret = write(comm[1], &did, 1);
|
||||
fail_if(ret != 1);
|
||||
|
||||
efl_loop_begin(efl_main_loop_get());
|
||||
|
||||
close(comm[0]);
|
||||
close(comm[1]);
|
||||
|
||||
fail_if(did == EINA_FALSE);
|
||||
fail_if(dead == EINA_TRUE);
|
||||
|
||||
efl_del(fd);
|
||||
fail_if(dead == EINA_FALSE);
|
||||
}
|
||||
EFL_END_TEST
|
||||
|
||||
|
||||
void efl_app_test_efl_loop_fd(TCase *tc)
|
||||
{
|
||||
tcase_add_test(tc, ecore_test_efl_loop_fd);
|
||||
tcase_add_test(tc, ecore_test_efl_loop_fd_lifecycle);
|
||||
}
|
Loading…
Reference in New Issue