From 5e806ee41ff3c3384fa63644e0dddce6105aa756 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 9 Apr 2018 13:37:03 +0200 Subject: [PATCH] tests: move ecore promise tests into efl_app_suite Summary: ref T6815 Depends on D5902 Reviewers: stefan_schmidt Subscribers: cedric Maniphest Tasks: T6815 Differential Revision: https://phab.enlightenment.org/D5903 --- src/Makefile_Ecore.am | 2 +- src/tests/ecore/ecore_suite.c | 1 - src/tests/ecore/ecore_suite.h | 1 - src/tests/ecore/efl_app_suite.c | 1 + src/tests/ecore/efl_app_suite.h | 1 + ..._test_promise.c => efl_app_test_promise.c} | 31 ++++++++++--------- 6 files changed, 19 insertions(+), 18 deletions(-) rename src/tests/ecore/{ecore_test_promise.c => efl_app_test_promise.c} (98%) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index 2c6221dfca..bcd33f853c 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -284,7 +284,6 @@ tests/ecore/ecore_test_animator.c \ tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c \ tests/ecore/ecore_test_ecore_input.c \ tests/ecore/ecore_test_ecore_file.c \ -tests/ecore/ecore_test_promise.c \ tests/ecore/ecore_test_job.c \ tests/ecore/ecore_test_args.c \ tests/ecore/ecore_suite.h @@ -334,6 +333,7 @@ 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_test_promise.c \ tests/ecore/efl_app_suite.c \ tests/ecore/efl_app_suite.h diff --git a/src/tests/ecore/ecore_suite.c b/src/tests/ecore/ecore_suite.c index 04314e1922..21fb572817 100644 --- a/src/tests/ecore/ecore_suite.c +++ b/src/tests/ecore/ecore_suite.c @@ -31,7 +31,6 @@ static const Efl_Test_Case etc[] = { { "Ecore_File", ecore_test_ecore_file }, { "Ecore_Job", ecore_test_ecore_job }, { "Ecore_Args", ecore_test_ecore_args }, - { "Ecore_Promise", ecore_test_ecore_promise }, { NULL, NULL } }; diff --git a/src/tests/ecore/ecore_suite.h b/src/tests/ecore/ecore_suite.h index 5917a43a0c..56b7dc36e9 100644 --- a/src/tests/ecore/ecore_suite.h +++ b/src/tests/ecore/ecore_suite.h @@ -19,6 +19,5 @@ void ecore_test_ecore_input(TCase *tc); void ecore_test_ecore_file(TCase *tc); void ecore_test_ecore_job(TCase *tc); void ecore_test_ecore_args(TCase *tc); -void ecore_test_ecore_promise(TCase *tc); #endif /* _ECORE_SUITE_H */ diff --git a/src/tests/ecore/efl_app_suite.c b/src/tests/ecore/efl_app_suite.c index c92aa3ab7f..38e5f5b292 100644 --- a/src/tests/ecore/efl_app_suite.c +++ b/src/tests/ecore/efl_app_suite.c @@ -50,6 +50,7 @@ static const Efl_Test_Case etc[] = { { "Loop", efl_app_test_efl_loop }, { "Loop_Timer", efl_app_test_efl_loop_timer }, { "Loop_FD", efl_app_test_efl_loop_fd }, + { "Promise", efl_app_test_promise }, { NULL, NULL } }; diff --git a/src/tests/ecore/efl_app_suite.h b/src/tests/ecore/efl_app_suite.h index b4fce48303..abbd254dfc 100644 --- a/src/tests/ecore/efl_app_suite.h +++ b/src/tests/ecore/efl_app_suite.h @@ -7,5 +7,6 @@ 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); +void efl_app_test_promise(TCase *tc); #endif /* _EFL_APP_SUITE_H */ diff --git a/src/tests/ecore/ecore_test_promise.c b/src/tests/ecore/efl_app_test_promise.c similarity index 98% rename from src/tests/ecore/ecore_test_promise.c rename to src/tests/ecore/efl_app_test_promise.c index 1dfa4a6877..e719e5318c 100644 --- a/src/tests/ecore/ecore_test_promise.c +++ b/src/tests/ecore/efl_app_test_promise.c @@ -2,14 +2,13 @@ # include #endif -#include -#include -#include -#include -#include -#include -#include -#include "ecore_suite.h" +#include +#include +#define EFL_NOLEGACY_API_SUPPORT +#include +#include +#include "efl_app_suite.h" +#include "../efl_check.h" #define CHAIN_SIZE (3) #define DEFAULT_ERROR (EFBIG) @@ -33,7 +32,7 @@ typedef struct _PromiseCtx { Eina_Promise *p; - Ecore_Timer *t; + Efl_Object *t; Eina_Bool fail; Eina_Value *value; } PromiseCtx; @@ -122,7 +121,7 @@ static void _cancel(void *data, const Eina_Promise *dead_ptr EINA_UNUSED) { PromiseCtx *ctx = data; - if (ctx->t) ecore_timer_del(ctx->t); + if (ctx->t) efl_del(ctx->t); ctx->t = NULL; eina_value_free(ctx->value); free(ctx); @@ -135,8 +134,8 @@ _promise_cancel_test(void *data, const Eina_Promise *dead_ptr EINA_UNUSED) *cancel_called = EINA_TRUE; } -static Eina_Bool -_simple_timeout(void *data) +static void +_simple_timeout(void *data, const Efl_Event *ev EINA_UNUSED) { PromiseCtx *ctx = data; @@ -149,8 +148,8 @@ _simple_timeout(void *data) eina_promise_resolve(ctx->p, v); eina_value_free(ctx->value); } + efl_del(ctx->t); free(ctx); - return EINA_FALSE; } static Eina_Future_Scheduler * @@ -177,7 +176,9 @@ _future_get(PromiseCtx *ctx, double timeout) f = eina_future_new(ctx->p); fail_if(!f); - ctx->t = ecore_timer_add(timeout, _simple_timeout, ctx); + ctx->t = efl_add(EFL_LOOP_TIMER_CLASS, efl_main_loop_get(), + efl_event_callback_add(efl_added, EFL_LOOP_TIMER_EVENT_TICK, _simple_timeout, ctx), + efl_loop_timer_interval_set(efl_added, timeout)); fail_if(!ctx->t); return f; } @@ -1330,7 +1331,7 @@ promise_shutdown(void) ecore_init(); } -void ecore_test_ecore_promise(TCase *tc) +void efl_app_test_promise(TCase *tc) { tcase_add_checked_fixture(tc, promise_init, promise_shutdown); tcase_add_test(tc, efl_test_timeout);