q66 pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1afb26428899cf24da45b73540f711ee27679fdb

commit 1afb26428899cf24da45b73540f711ee27679fdb
Author: Daniel Kolesa <[email protected]>
Date:   Sun Apr 19 01:53:50 2020 +0200

    eolian: globally enable eolian_state_check, except for beta classes
    
    Beta classes won't have their namespaces validated at this point.
    It is possible to set EOLIAN_CHECK_NAMESPACES_BETA=1 to enable
    checking those as well, if you want to fix them all.
---
 src/lib/eolian/database_check.c  | 5 ++++-
 src/tests/eolian/eolian_static.c | 2 --
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/lib/eolian/database_check.c b/src/lib/eolian/database_check.c
index 57cc6c6abc..02a8de84db 100644
--- a/src/lib/eolian/database_check.c
+++ b/src/lib/eolian/database_check.c
@@ -268,6 +268,9 @@ _check_namespaces(const Eolian_Unit *src)
    Eina_Bool ret = EINA_TRUE;
    Eina_Iterator *itr = eina_hash_iterator_data_new(src->objects);
    const Eolian_Object *obj;
+
+   Eina_Bool check_beta = !!getenv("EOLIAN_CHECK_NAMESPACES_BETA");
+
    EINA_ITERATOR_FOREACH(itr, obj)
      {
         char const *dot = strrchr(obj->name, '.');
@@ -277,7 +280,7 @@ _check_namespaces(const Eolian_Unit *src)
           dot - obj->name);
         const Eolian_Object *cobj = eina_hash_find(src->objects, ssr);
         eina_stringshare_del(ssr);
-        if (cobj)
+        if (cobj && (check_beta || !eolian_object_is_beta(cobj)))
           {
              eolian_state_log_obj(src->state, obj,
                "the namespace of object '%s' conflicts with %s:%d:%d",
diff --git a/src/tests/eolian/eolian_static.c b/src/tests/eolian/eolian_static.c
index fc156beb56..18c8d13742 100644
--- a/src/tests/eolian/eolian_static.c
+++ b/src/tests/eolian/eolian_static.c
@@ -12,10 +12,8 @@ EFL_START_TEST(eolian_static_check)
    fail_if(!eolian_state_directory_add(eos, EO_SRC_DIR));
    fail_if(!eolian_state_all_eot_files_parse(eos));
    fail_if(!eolian_state_all_eo_files_parse(eos));
-#if 0
    /* too many failures to enable this yet */
    fail_if(!eolian_state_check(eos));
-#endif
    eolian_state_free(eos);
 }
 EFL_END_TEST

-- 


Reply via email to