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
This commit is contained in:
Mike Blumenkrantz 2019-10-31 09:02:44 -04:00
parent a2b63846ee
commit ee0f23389c
1 changed files with 68 additions and 58 deletions

View File

@ -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);