summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2018-04-09 13:37:04 +0200
committerStefan Schmidt <stefan@osg.samsung.com>2018-04-10 11:28:01 +0200
commit99f3f89f241082a00cdd1bc7b7d9b908e6de549e (patch)
tree9292b1e1fae122b9a18916406d3224edde4a0ef4
parent43c420d3d0a973f70d0908688a50d4be1ca4e53e (diff)
downloadefl-99f3f89f241082a00cdd1bc7b7d9b908e6de549e.tar.gz
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
-rw-r--r--src/tests/ecore/efl_app_suite.c3
-rw-r--r--src/tests/ecore/efl_app_suite.h3
-rw-r--r--src/tests/ecore/efl_app_test_promise.c32
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);