eo: get rid of eo_id

Summary:
build with this disabled is just not working as the thread model of eo
falls apart. The threadmodel is required to have eo_id, as it decoded
the thread information in the eo_id, which is not working without eo_id.

This also fixes the testcases that have never been executed due to the
fact of the missing HAVE_EO_ID

fix T6610

Depends on D6327

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Maniphest Tasks: T6610

Differential Revision: https://phab.enlightenment.org/D6328
This commit is contained in:
Marcel Hollerbach 2018-06-19 13:35:53 -04:00 committed by Mike Blumenkrantz
parent 39d8a36b5e
commit 6e46950169
2 changed files with 3 additions and 29 deletions

View File

@ -4761,12 +4761,6 @@ dnl TODO: remove these ifdefs from code!
AC_DEFINE([HAVE_EIO], [1], [Have eio library])
#### End of Eio
# Eo Id
if test "x${want_eo_id}" = "xyes" ; then
AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
fi
#### Efreet
EFL_LIB_START([Efreet])
@ -5877,8 +5871,6 @@ AC_OUTPUT
#### Info
EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
case $host_cpu in
i*86|x86_64|amd64)
EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
@ -6128,16 +6120,6 @@ if test -n "$CFOPT_WARNING"; then
echo "some functionality as useless, leading to visible application bugs."
echo "_____________________________________________________________________"
fi
if test "x${want_eo_id}" = "xno"; then
echo "_____________________________________________________________________"
echo "Eo's ID abstraction interface is a major safety system that"
echo "protects code from crashing or misbehaving in many cases. It does"
echo "come at a slight cost, but the safety and protection is worth it."
echo "Also by disabling this, you may also introduce security holes in"
echo "EFL as well as cause all sorts of previously non-existant crashes."
echo "Seriously reconsider disabling EO ID."
echo "_____________________________________________________________________"
fi
if test "x${want_evas_cserve2}" = "xno"; then
echo "_____________________________________________________________________"
echo "Evas Cserve is built and on by default and no testing is done"

View File

@ -1111,8 +1111,6 @@ EFL_END_TEST
EFL_START_TEST(eo_pointers_indirection)
{
#ifdef HAVE_EO_ID
static const Efl_Class_Description class_desc = {
EO_VERSION,
"Simple",
@ -1189,8 +1187,6 @@ EFL_START_TEST(eo_pointers_indirection)
/* Just be sure that we trigger an already freed error */
efl_unref(objs[0]);
free(objs);
#endif
}
EFL_END_TEST
@ -1233,7 +1229,6 @@ EFL_START_TEST(efl_add_failures)
}
EFL_END_TEST
#ifdef HAVE_EO_ID
static Eina_Bool intercepted = EINA_FALSE;
static void
@ -1249,11 +1244,9 @@ _del_intercept_reuse(Eo *obj)
{
efl_reuse(obj);
}
#endif
EFL_START_TEST(efl_del_intercept)
{
#ifdef HAVE_EO_ID
static const Efl_Class_Description class_desc = {
EO_VERSION,
@ -1294,16 +1287,15 @@ EFL_START_TEST(efl_del_intercept)
fail_if(!obj);
ck_assert_int_eq(efl_ref_count(obj), 1);
efl_parent_set(obj, parent);
ck_assert_int_eq(efl_ref_count(obj), 1);
ck_assert_int_eq(efl_ref_count(obj), 2);
efl_del_intercept_set(obj, _del_intercept_reuse);
efl_del_intercept_set(obj, NULL);
/* This essentially checks it get unsunk */
ck_assert_int_eq(efl_ref_count(obj), 1);
ck_assert_int_eq(efl_ref_count(obj), 2);
efl_parent_set(obj, parent);
ck_assert_int_eq(efl_ref_count(obj), 1);
ck_assert_int_eq(efl_ref_count(obj), 2);
efl_unref(obj);
#endif
}
EFL_END_TEST