From 9c71ce2c008094a853604529a84e46903bce6b2f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 31 Oct 2019 09:02:47 -0400 Subject: [PATCH] tests/elm: add util function for detecting whether current test is forked Summary: this is useful for determining whether we can use extra hacks because nobody's supervising our pointer (ab)use Depends on D10568 Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10569 --- src/tests/elementary/suite_helpers.c | 14 ++++++++++---- src/tests/elementary/suite_helpers.h | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/tests/elementary/suite_helpers.c b/src/tests/elementary/suite_helpers.c index 67aac9ddbc..a8ecb59df0 100644 --- a/src/tests/elementary/suite_helpers.c +++ b/src/tests/elementary/suite_helpers.c @@ -34,7 +34,7 @@ SUITE_INIT(elm) void _elm2_suite_init(void) { - if (getpid() != main_pid) + if (is_forked()) { if (abort_on_warnings) fail_on_errors_setup(); @@ -59,7 +59,7 @@ _elm_suite_shutdown(void) /* verify that ecore was de-initialized completely */ ck_assert_int_eq(ecore_init(), 1); /* avoid slowdowns in fork mode */ - if (getpid() != main_pid) return; + if (is_forked()) return; ck_assert_int_eq(ecore_shutdown(), 0); } @@ -236,7 +236,7 @@ win_add(void) evas_font_path_global_append(TEST_FONT_DIR); font_path = EINA_TRUE; } - if (getpid() != main_pid) + if (is_forked()) { if (global_win) return global_win; } @@ -261,7 +261,7 @@ win_add_focused() { Evas_Object *win; - if (getpid() != main_pid) + if (is_forked()) { if (global_win) return global_win; } @@ -271,6 +271,12 @@ win_add_focused() return win; } +Eina_Bool +is_forked(void) +{ + return getpid() != main_pid; +} + int suite_setup(Eina_Bool legacy) { diff --git a/src/tests/elementary/suite_helpers.h b/src/tests/elementary/suite_helpers.h index 34660a6424..05150b49a0 100644 --- a/src/tests/elementary/suite_helpers.h +++ b/src/tests/elementary/suite_helpers.h @@ -11,6 +11,7 @@ void _elm_suite_shutdown(void); void *real_timer_add(double in, Ecore_Task_Cb cb, void *data); void fail_on_errors_teardown(void); void fail_on_errors_setup(void); +Eina_Bool is_forked(void); void get_me_to_those_events(Eo *obj); void click_object(Eo *obj);