From ee0f23389c694673e8449f03c06a502d85423659 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 31 Oct 2019 09:02:44 -0400 Subject: [PATCH] tests/spec: merge some loops in linear pack tests Summary: these are small loops, but iterating small loops hundreds of times leads to big slowdowns Reviewers: cedric Reviewed By: cedric Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10567 --- .../elementary/spec/efl_test_pack_linear.c | 126 ++++++++++-------- 1 file changed, 68 insertions(+), 58 deletions(-) diff --git a/src/tests/elementary/spec/efl_test_pack_linear.c b/src/tests/elementary/spec/efl_test_pack_linear.c index 0ecaacd432..ad7644206e 100644 --- a/src/tests/elementary/spec/efl_test_pack_linear.c +++ b/src/tests/elementary/spec/efl_test_pack_linear.c @@ -19,15 +19,6 @@ } spec-meta-end */ -static void -_fill_array(Efl_Ui_Widget *wid[3]) -{ - for (int i = 0; i < 3; ++i) - { - wid[i] = create_test_widget(); - } -} - static void _ordering_equals(Efl_Ui_Widget **wid, unsigned int len) { @@ -43,10 +34,9 @@ EFL_START_TEST(pack_begin1) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 2; i >= 0; i--) { + wid[i] = create_test_widget(); efl_pack_begin(widget, wid[i]); ck_assert_ptr_eq(efl_test_parent_get(wid[i]), widget); } @@ -62,10 +52,9 @@ EFL_START_TEST(pack_begin2) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); - for (int i = 2; i >= 0; i--) { + wid[i] = create_test_widget(); efl_pack_begin(widget, wid[i]); ck_assert_ptr_eq(efl_test_parent_get(wid[i]), widget); } @@ -82,10 +71,9 @@ EFL_START_TEST(pack_end1) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) { + wid[i] = create_test_widget(); efl_pack_end(widget, wid[i]); ck_assert_ptr_eq(efl_test_parent_get(wid[i]), widget); } @@ -102,10 +90,9 @@ EFL_START_TEST(pack_end2) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); - for (int i = 0; i < 3; i++) { + wid[i] = create_test_widget(); efl_pack_end(widget, wid[i]); ck_assert_ptr_eq(efl_test_parent_get(wid[i]), widget); } @@ -122,10 +109,11 @@ EFL_START_TEST(pack_before1) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_before(widget, inv, wid[0]), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -145,10 +133,11 @@ EFL_START_TEST(pack_before2) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_before(widget, inv, wid[0]), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -167,10 +156,11 @@ EFL_START_TEST(pack_before3) Efl_Ui_Widget *inv = create_test_widget(); Efl_Ui_Widget *inv2 = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } EXPECT_ERROR_START; ck_assert_int_eq(efl_pack_before(widget, inv, inv2), EINA_FALSE); @@ -187,10 +177,11 @@ EFL_START_TEST(pack_before4) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_before(widget, inv, NULL), EINA_TRUE); ck_assert_ptr_eq(efl_pack_content_get(widget, 0), inv); @@ -202,10 +193,11 @@ EFL_START_TEST(pack_after1) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_after(widget, inv, wid[0]), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -225,10 +217,11 @@ EFL_START_TEST(pack_after2) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_after(widget, inv, wid[0]), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -247,10 +240,11 @@ EFL_START_TEST(pack_after3) Efl_Ui_Widget *inv = create_test_widget(); Efl_Ui_Widget *inv2 = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } EXPECT_ERROR_START; ck_assert_int_eq(efl_pack_after(widget, inv, inv2), EINA_FALSE); @@ -267,10 +261,11 @@ EFL_START_TEST(pack_after4) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_after(widget, inv, NULL), EINA_TRUE); ck_assert_ptr_eq(efl_pack_content_get(widget, 3), inv); @@ -285,9 +280,11 @@ EFL_START_TEST(pack_at1) Efl_Ui_Widget *inv = create_test_widget(); unsigned int i; - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } efl_pack_at(widget, inv, x); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -316,9 +313,11 @@ EFL_START_TEST(pack_at2) Efl_Ui_Widget *inv = create_test_widget(); unsigned int i; - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_at(widget, inv, x), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -350,9 +349,11 @@ EFL_START_TEST(pack_at3) Efl_Ui_Widget *inv = create_test_widget(); Efl_Ui_Widget *inv2 = create_test_widget(); - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_int_eq(efl_pack_at(widget, inv,-100000), EINA_TRUE); ck_assert_ptr_eq(efl_test_parent_get(inv), widget); @@ -367,10 +368,11 @@ EFL_START_TEST(pack_content_get1) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); - for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } for (int i = -100000; i <= 100000; i++) { @@ -389,9 +391,11 @@ EFL_START_TEST(pack_index_get1) Efl_Ui_Widget *wid[3]; Efl_Ui_Widget *inv = create_test_widget(); - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } for (int i = 0; i < 3; i++) ck_assert_int_eq(efl_pack_index_get(widget, wid[i]), i); @@ -404,9 +408,11 @@ EFL_START_TEST(pack_unpack_at1) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } for (int i = 0; i < 3; i++) ck_assert_int_eq(efl_pack_index_get(widget, wid[i]), i); @@ -427,9 +433,11 @@ EFL_START_TEST(pack_unpack_at2) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } for (int i = 0; i < 3; i++) ck_assert_int_eq(efl_pack_index_get(widget, wid[i]), i); @@ -446,9 +454,11 @@ EFL_START_TEST(pack_unpack_at3) { Efl_Ui_Widget *wid[3]; - _fill_array(wid); for (int i = 0; i < 3; i++) - efl_pack_end(widget, wid[i]); + { + wid[i] = create_test_widget(); + efl_pack_end(widget, wid[i]); + } ck_assert_ptr_eq(efl_pack_unpack_at(widget, x), wid[(3+x)%3]); ck_assert_int_eq(efl_content_count(widget), 2); ck_assert_ptr_ne(efl_test_parent_get(wid[(3+x)%3]), widget);