stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=99f3f89f241082a00cdd1bc7b7d9b908e6de549e
commit 99f3f89f241082a00cdd1bc7b7d9b908e6de549e Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Mon Apr 9 13:37:04 2018 +0200 tests: split efl_app promise tests into separate test cases Summary: each test case can run in parallel, so this provides a ~300% speedup ref T6850 Depends on D5904 Reviewers: stefan_schmidt Subscribers: cedric Maniphest Tasks: T6850 Differential Revision: https://phab.enlightenment.org/D5905 --- src/tests/ecore/efl_app_suite.c | 3 +++ src/tests/ecore/efl_app_suite.h | 3 +++ src/tests/ecore/efl_app_test_promise.c | 32 +++++++++++++++++++++++--------- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/tests/ecore/efl_app_suite.c b/src/tests/ecore/efl_app_suite.c index 017134dacc..3de672f4fa 100644 --- a/src/tests/ecore/efl_app_suite.c +++ b/src/tests/ecore/efl_app_suite.c @@ -51,6 +51,9 @@ static const Efl_Test_Case etc[] = { { "Loop_Timer", efl_app_test_efl_loop_timer }, { "Loop_FD", efl_app_test_efl_loop_fd }, { "Promise", efl_app_test_promise }, + { "Promise", efl_app_test_promise_2 }, + { "Promise", efl_app_test_promise_3 }, + { "Promise", efl_app_test_promise_safety }, { NULL, NULL } }; diff --git a/src/tests/ecore/efl_app_suite.h b/src/tests/ecore/efl_app_suite.h index abbd254dfc..29ed8f031f 100644 --- a/src/tests/ecore/efl_app_suite.h +++ b/src/tests/ecore/efl_app_suite.h @@ -8,5 +8,8 @@ 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); +void efl_app_test_promise_2(TCase *tc); +void efl_app_test_promise_3(TCase *tc); +void efl_app_test_promise_safety(TCase *tc); #endif /* _EFL_APP_SUITE_H */ diff --git a/src/tests/ecore/efl_app_test_promise.c b/src/tests/ecore/efl_app_test_promise.c index e719e5318c..3b9b8ab6aa 100644 --- a/src/tests/ecore/efl_app_test_promise.c +++ b/src/tests/ecore/efl_app_test_promise.c @@ -694,7 +694,7 @@ EFL_START_TEST(efl_test_promise_future_implicit_cancel) The promise was resolved, but the mainloop is not running. Since ecore_shutdown() will be called all the futures must be cancelled */ - ecore_shutdown(); + ck_assert_int_eq(ecore_shutdown(), 0); //All the futures were cancelled at this point fail_if(cancel_count != CHAIN_SIZE); //Cancel should not be called, since we called eina_promise_resolve() @@ -1334,28 +1334,42 @@ promise_shutdown(void) void efl_app_test_promise(TCase *tc) { tcase_add_checked_fixture(tc, promise_init, promise_shutdown); - tcase_add_test(tc, efl_test_timeout); - tcase_add_test(tc, efl_test_job); - tcase_add_test(tc, efl_test_idle); + tcase_add_test(tc, efl_test_promise_future_convert); + tcase_add_test(tc, efl_test_promise_future_easy); + tcase_add_test(tc, efl_test_promise_future_all); + tcase_add_test(tc, efl_test_promise_future_race); + tcase_add_test(tc, efl_test_promise_future_ignore_error); tcase_add_test(tc, efl_test_promise_future_success); tcase_add_test(tc, efl_test_promise_future_failure); +} + +void efl_app_test_promise_2(TCase *tc) +{ + tcase_add_checked_fixture(tc, promise_init, promise_shutdown); tcase_add_test(tc, efl_test_promise_future_chain_no_error); tcase_add_test(tc, efl_test_promise_future_chain_error); tcase_add_test(tc, efl_test_promise_future_cancel); tcase_add_test(tc, efl_test_promise_future_implicit_cancel); tcase_add_test(tc, efl_test_promise_future_inner_promise); tcase_add_test(tc, efl_test_promise_future_inner_promise_fail); - tcase_add_test(tc, efl_test_promise_future_convert); - tcase_add_test(tc, efl_test_promise_future_easy); - tcase_add_test(tc, efl_test_promise_future_all); - tcase_add_test(tc, efl_test_promise_future_race); - tcase_add_test(tc, efl_test_promise_future_ignore_error); +} + +void efl_app_test_promise_3(TCase *tc) +{ + tcase_add_checked_fixture(tc, promise_init, promise_shutdown); + tcase_add_test(tc, efl_test_timeout); + tcase_add_test(tc, efl_test_job); + tcase_add_test(tc, efl_test_idle); tcase_add_test(tc, efl_test_promise_log); //FIXME: We should move this to EO tests, however they depend on Ecore... tcase_add_test(tc, efl_test_promise_eo); tcase_add_test(tc, efl_test_promise_eo_link); +} +void efl_app_test_promise_safety(TCase *tc) +{ #ifdef EINA_SAFETY_CHECKS + tcase_add_checked_fixture(tc, promise_init, promise_shutdown); tcase_add_test(tc, efl_test_promise_null); tcase_add_test(tc, efl_test_promise_reject_resolve_null); tcase_add_test(tc, efl_test_future_null); --