From 52e39f71fa56b90b0f99c46304ecfc87cc018a26 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 11 Sep 2019 13:38:35 -0400 Subject: [PATCH] tests/edje: reduce chances of cascading test failures in non-forked mode Summary: move evas_free() into the global shutdown fixture to ensure that edje_shutdown actually does call internal shutdown methods since evas_free() will not be reached if it is at the end of a failing test Depends on D9878 Reviewers: cedric Reviewed By: cedric Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9879 --- src/tests/edje/edje_suite.c | 5 ++++- src/tests/edje/edje_test_container.c | 4 ---- src/tests/edje/edje_test_edje.c | 8 -------- src/tests/edje/edje_test_features.c | 7 ------- src/tests/edje/edje_test_signal.c | 4 ---- src/tests/edje/edje_test_swallow.c | 5 ----- src/tests/edje/edje_test_text.c | 7 ------- 7 files changed, 4 insertions(+), 36 deletions(-) diff --git a/src/tests/edje/edje_suite.c b/src/tests/edje/edje_suite.c index 18eb8856fb..80104b0e0b 100644 --- a/src/tests/edje/edje_suite.c +++ b/src/tests/edje/edje_suite.c @@ -29,10 +29,11 @@ test_layout_get(const char *name) return filename; } +static Evas *evas = NULL; + Evas * _setup_evas(void) { - Evas *evas; Evas_Engine_Info *einfo; evas = evas_new(); @@ -55,6 +56,8 @@ SUITE_INIT(edje) SUITE_SHUTDOWN(edje) { + if (evas) evas_free(evas); + evas = NULL; ck_assert_int_eq(edje_shutdown(), 0); ck_assert_int_eq(ecore_evas_shutdown(), 0); } diff --git a/src/tests/edje/edje_test_container.c b/src/tests/edje/edje_test_container.c index 1ddeb86985..cfdee2ed68 100644 --- a/src/tests/edje/edje_test_container.c +++ b/src/tests/edje/edje_test_container.c @@ -51,7 +51,6 @@ EFL_START_TEST(edje_test_box) } eina_iterator_free(it); - evas_free(evas); } EFL_END_TEST @@ -111,7 +110,6 @@ EFL_START_TEST(edje_test_box_eoapi) efl_pack_clear(efl_part(obj, "box")); fail_if(efl_content_count(efl_part(obj, "box")) != 0); - evas_free(evas); } EFL_END_TEST @@ -186,7 +184,6 @@ EFL_START_TEST(edje_test_table) fail_if(strcmp(txt, buf) != 0); } - evas_free(evas); } EFL_END_TEST @@ -269,7 +266,6 @@ EFL_START_TEST(edje_test_table_eoapi) fail_if(efl_content_count(proxy) != 4); efl_del(proxy); - evas_free(evas); } EFL_END_TEST diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c index 7f0f3b6f08..17eb7d5d4c 100644 --- a/src/tests/edje/edje_test_edje.c +++ b/src/tests/edje/edje_test_edje.c @@ -28,7 +28,6 @@ EFL_START_TEST(edje_test_edje_load) error = edje_object_load_error_get(obj); fail_if(error != EDJE_LOAD_ERROR_DOES_NOT_EXIST); - evas_free(evas); } EFL_END_TEST @@ -89,7 +88,6 @@ EFL_START_TEST(edje_test_load_simple_layout) fail_unless(edje_object_part_exists(obj, "background")); - evas_free(evas); } EFL_END_TEST @@ -118,7 +116,6 @@ EFL_START_TEST(edje_test_simple_layout_geometry) evas_object_color_get(bg, &r, &g, &b, &a); fail_if(r != 255 || g != 255 || b != 255 || a != 255); - evas_free(evas); } EFL_END_TEST @@ -166,7 +163,6 @@ EFL_START_TEST(edje_test_complex_layout) fail_if(x != 5 || y != 500+2); fail_if(w != 1000-5-5 + 1 || h != 500-5-2 + 1); - evas_free(evas); } EFL_END_TEST @@ -189,7 +185,6 @@ EFL_START_TEST(edje_test_calculate_parens) edje_object_part_geometry_get(obj, "background", &x, &y, &w, &h); fail_if(x != 0 || y != 0 || w != 100 || h != 100); - evas_free(evas); } EFL_END_TEST @@ -232,7 +227,6 @@ EFL_START_TEST(edje_test_access) } fail_if(i != 2); - evas_free(evas); } EFL_END_TEST @@ -246,7 +240,6 @@ EFL_START_TEST(edje_test_combine_keywords) obj = edje_object_add(evas); fail_unless(edje_object_file_set(obj, test_layout_get("test_combine_keywords.edj"), "test_group")); - evas_free(evas); } EFL_END_TEST @@ -277,7 +270,6 @@ EFL_START_TEST(edje_test_part_caching) } - evas_free(evas); } EFL_END_TEST diff --git a/src/tests/edje/edje_test_features.c b/src/tests/edje/edje_test_features.c index 4b6ddb8900..894e27332f 100644 --- a/src/tests/edje/edje_test_features.c +++ b/src/tests/edje/edje_test_features.c @@ -55,7 +55,6 @@ EFL_START_TEST(edje_test_masking) clip2 = efl_canvas_object_clipper_get(sub); fail_if(clip != clip2); - evas_free(evas); } EFL_END_TEST @@ -104,7 +103,6 @@ EFL_START_TEST(edje_test_filters) // TODO: Verify properly that the filter runs well - evas_free(evas); } EFL_END_TEST @@ -130,7 +128,6 @@ EFL_START_TEST(edje_test_snapshot) // TODO: Verify that evas snapshot actually works (and has a filter) - evas_free(evas); } EFL_END_TEST @@ -184,14 +181,11 @@ EFL_START_TEST(edje_test_size_class) b = edje_object_size_class_get(obj, "rect_size", &minw, &minh, NULL, NULL); fail_if(!b || minw != 150 || minh != 150); - evas_free(evas); } EFL_END_TEST EFL_START_TEST(edje_test_color_class) { - Evas *evas = _setup_evas(); - Eina_File *f; Eina_Iterator *it; Edje_Color_Class *itcc, *cc = NULL; @@ -219,7 +213,6 @@ EFL_START_TEST(edje_test_color_class) eina_file_close(f); free(filename); - evas_free(evas); } EFL_END_TEST diff --git a/src/tests/edje/edje_test_signal.c b/src/tests/edje/edje_test_signal.c index 20240a421f..553be69abe 100644 --- a/src/tests/edje/edje_test_signal.c +++ b/src/tests/edje/edje_test_signal.c @@ -92,7 +92,6 @@ EFL_START_TEST(edje_test_message_send_legacy) evas_object_del(obj); - evas_free(evas); } EFL_END_TEST @@ -151,7 +150,6 @@ EFL_START_TEST(edje_test_message_send_eo) efl_del(obj); - evas_free(evas); } EFL_END_TEST @@ -185,7 +183,6 @@ EFL_START_TEST(edje_test_signals) efl_del(obj); - evas_free(evas); } EFL_END_TEST @@ -229,7 +226,6 @@ EFL_START_TEST(edje_test_signal_callback_del_full) efl_del(obj); - evas_free(evas); } EFL_END_TEST diff --git a/src/tests/edje/edje_test_swallow.c b/src/tests/edje/edje_test_swallow.c index b8f13cf7ec..a0e5b4eb96 100644 --- a/src/tests/edje/edje_test_swallow.c +++ b/src/tests/edje/edje_test_swallow.c @@ -40,7 +40,6 @@ EFL_START_TEST(edje_test_swallows) /* o1 is deleted at this point. */ ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1)); - evas_free(evas); } EFL_END_TEST @@ -60,7 +59,6 @@ EFL_START_TEST(edje_test_swallows_lifetime) evas_object_del(ly); fail_if(!efl_parent_get(o1)); - evas_free(evas); } EFL_END_TEST @@ -88,7 +86,6 @@ EFL_START_TEST(edje_test_swallows_invalidate) evas_object_del(ly); fail_if(!efl_parent_get(o1)); - evas_free(evas); } EFL_END_TEST @@ -119,7 +116,6 @@ EFL_START_TEST(edje_test_swallows_eoapi) /* o1 is deleted at this point. */ ck_assert_ptr_eq(efl_parent_get(o1), evas_object_evas_get(o1)); - evas_free(evas); } EFL_END_TEST @@ -153,7 +149,6 @@ EFL_START_TEST(edje_test_swallows_container_api) eina_array_free(arr); } - evas_free(evas); } EFL_END_TEST diff --git a/src/tests/edje/edje_test_text.c b/src/tests/edje/edje_test_text.c index 86e1aaf06d..45ef800ca4 100644 --- a/src/tests/edje/edje_test_text.c +++ b/src/tests/edje/edje_test_text.c @@ -88,7 +88,6 @@ EFL_START_TEST(edje_test_text_cursor) new_pos = edje_object_part_text_cursor_pos_get(obj, "text", EDJE_CURSOR_MAIN); ck_assert_int_eq(old_pos, new_pos); - evas_free(evas); } EFL_END_TEST @@ -110,7 +109,6 @@ EFL_START_TEST(edje_test_textblock) txt = edje_object_part_text_get(obj, "text"); fail_if(!txt || strcmp(txt, buf)); - evas_free(evas); } EFL_END_TEST @@ -129,7 +127,6 @@ START_TEST(edje_test_text_ellipsis) efl_text_ellipsis_set(efl_part(layout, "text"), 1.0); - evas_free(evas); } END_TEST @@ -148,7 +145,6 @@ START_TEST(edje_test_text_wrap) efl_text_wrap_set(efl_part(layout, "text"), EFL_TEXT_FORMAT_WRAP_WORD); - evas_free(evas); } END_TEST @@ -167,7 +163,6 @@ START_TEST(edje_test_text_font) efl_text_font_set(efl_part(layout, "text"), "Sans", 14); - evas_free(evas); } END_TEST @@ -186,7 +181,6 @@ START_TEST(edje_test_text_color) efl_text_normal_color_set(efl_part(layout, "text"), 255, 255, 255, 255); - evas_free(evas); } END_TEST @@ -330,7 +324,6 @@ START_TEST(edje_test_text_part) ck_assert(!efl_file_load(layout)); _basic_check(layout, EINA_FALSE); - evas_free(evas); } END_TEST