Commit Graph

33442 Commits

Author SHA1 Message Date
Stefan Schmidt 0dca76798e build: finally enable branch coverage in our lcov-check target
This has been a long standing issue and I finally figured out the details to
get this working. Since we started with coverage there always have been some
problems to get branch coverage work (problems with older gcc versions, lcov
not taking them into account, etc)
The last detail that made me go nuts was that in my lcov version (1.10) there
is a bug which leads to geninfo not applying the config file and thus not
enabling the branch coverage like I defined in the config. I added the
--rc option to work around this case.

In my local run I get this now from lcov-check:
Overall coverage rate:
  lines......: 35.5% (65814 of 185169 lines)
  functions..: 44.6% (7661 of 17195 functions)
  branches...: 22.7% (31492 of 138942 branches)

So we have 22.7% branch coverage right now.

The vivid followers of my QA mails will also see the difference in numbers for
line and function coverage if one comapres my local results and the one on
Jenkins. This is another long standing issue and I need to figure out these
details next. :)
2016-03-04 12:44:29 +01:00
Cedric Bail e26fcbb1dc eina: rely on GNU make to find file at their correct location. 2016-03-03 21:10:00 -08:00
Jaehyun Cho 3398db2dcd Eo: Fix typo of SUPER_TAG_SHIFT.
This commit fixes commit fc88037977
2016-03-04 13:51:43 +09:00
Cedric Bail 1affc60d00 eina: reintroduce additional support for eina sub directory compilation.
This is still experimental and quite hacky. Let me know if you face issue.
It should just work with make -C src/lib/eina normally...
2016-03-03 15:10:59 -08:00
Cedric Bail 7f4ea1a79c eina: split Makefile with files/headers in preparation for additional per sub directory compilation 2016-03-03 15:10:59 -08:00
Vitor Sousa 9cbda57bf0 eolian-cxx: Fix Eolian C++ constructing methods with new eo_add
Also fix Eolian C++ examples using the new "eo_super".
2016-03-03 16:05:40 -03:00
Felipe Magno de Almeida 5c7d78d104 eolian-cxx: Partial fix for generation without eo_do 2016-03-03 16:05:40 -03:00
Daniel Kolesa 0c545b88ba eolian: new type system API
The Eolian type system API has been overhauled to properly separate declarations
(i.e. struct/enum/alias declarations) and usage. This should simplify writing
generators (as it makes it clear what is what) as well as make it easier to
maintain.

@feature
2016-03-03 19:01:02 +00:00
Vitor Sousa f57d4b9a3c eolian_cxx: Fix C++ compilation with new Eolian_Type_Type values 2016-03-03 18:58:11 +00:00
Daniel Kolesa 32e0b60bb4 eolian: type documentation and other cleanups 2016-03-03 18:58:11 +00:00
Daniel Kolesa e061d49aac eolian: completely clean up the type system 2016-03-03 18:58:11 +00:00
Daniel Kolesa 1f58ccb49f eolian: clean up some temporary hashes 2016-03-03 18:58:11 +00:00
Daniel Kolesa c3a33653f3 eolian: separate type_to_str for decls 2016-03-03 18:58:11 +00:00
Daniel Kolesa 5401c775ec eolian: remove database_type_print (unused) 2016-03-03 18:58:11 +00:00
Daniel Kolesa 4c4fbfae0b eolian: remove most of the old type APIs 2016-03-03 18:58:11 +00:00
Daniel Kolesa 863212f84a eolian: more old type api removals 2016-03-03 18:58:11 +00:00
Daniel Kolesa 4e40b60f06 eolian: remove retrieval funcs for type-style enums/aliases/structs 2016-03-03 18:58:11 +00:00
Daniel Kolesa 8614ee1e91 elua: update eolian bindings to new typedecl api 2016-03-03 18:58:11 +00:00
Daniel Kolesa cb42da514b eolian: initial conversion of C gen and tests to new type APIs 2016-03-03 18:58:11 +00:00
Daniel Kolesa 8514c1846f eolian: add api to deal with typedecl free funcs 2016-03-03 18:58:11 +00:00
Daniel Kolesa c0287a2752 eolian: add some missing typedecl APIs 2016-03-03 18:58:11 +00:00
Daniel Kolesa cf9dbaa7da eolian: add matching APIs to get typedecls by file 2016-03-03 18:58:11 +00:00
Daniel Kolesa 6e2497bc01 eolian: add wrappers for most of typedecl APIs 2016-03-03 18:58:11 +00:00
Daniel Kolesa 2be79061fd eolian: remove unneeded hashes 2016-03-03 18:58:11 +00:00
Daniel Kolesa 1425523bd4 eolian: actually generate typedecls as necessary 2016-03-03 18:58:11 +00:00
Daniel Kolesa 06c246ee27 eolian: free the hashes (prevent leaks) 2016-03-03 18:58:11 +00:00
Daniel Kolesa 8944cc44c1 eolian: add typedecl delete func and init hashes correctly 2016-03-03 18:58:11 +00:00
Daniel Kolesa 67f17f1068 eolian: rename typedef to typedecl to clear name confusion 2016-03-03 18:58:11 +00:00
Daniel Kolesa 87c763ac8b eolian: add a structure + hashes representing type decls 2016-03-03 18:58:11 +00:00
Daniel Kolesa ff7e2b5b6b eolian: always define the first enum value for consistency 2016-03-03 18:58:11 +00:00
Daniel Kolesa 0d291ac43e eolian: add typedef enumeration for type definitions 2016-03-03 18:58:11 +00:00
Derek Foreman 54f954c2ee ecore-input: Fix spelling errors in comments
This small patch just fixes up some spelling errors in comments. No
functional changes.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3753
2016-03-03 11:24:50 -05:00
Tom Hacohen b60db90ddc Fix more wrong migration to Eo4.
The if wasn't using {} so one of the statements was out of the scope
of the condition.
There was some misindented code.
2016-03-03 12:58:26 +00:00
Tom Hacohen 12d8654f14 Edje calc: Fix wrong migration to Eo4.
The if wasn't using {} so one of the statements was executed
unconditionally.
2016-03-03 12:23:06 +00:00
Tom Hacohen 800e760b7e Eo examples: remove another reference to the eo examples.
Thanks to _ami_ for reporting.
2016-03-03 11:50:44 +00:00
Jean-Philippe Andre 021c74d770 Doc: Fix compilation after massive eo_do patch 2016-03-03 20:21:17 +09:00
Tom Hacohen f46afbcbdf Eo: Migrate to the new syntax (Eo4) and adjust the EFL
This is a merge commit for all of the relevant changes.

The syntax is described in: https://phab.enlightenment.org/w/eo/

Summary:
eo_do(obj, a_set(1)) -> a_set(obj, 1)
eo_do_super(obj, CLASS, a_set(1)) -> a_set(eo_super(obj, CLASS), 1)

eo_do_*_ret() set of functions are no longer needed.

This is the first step, the next step would be to also fix up eo_add()
which currently still uses the old syntax and is not 100% portable.
2016-03-03 10:05:38 +00:00
Tom Hacohen f1b1c5354b Manually fix extra eo_do calls that were added after I migrated 2016-03-03 10:03:55 +00:00
Tom Hacohen dbdb5b8a33 Examples: Remove eo examples.
Those were always bad, inaccurate and outdated, and are not really needed
because you should be using Eolian, and not Eo directly.
2016-03-03 09:58:08 +00:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
Mostly unused vars following the removal of eo_do_ret().
However, there are some cases where the migration script got some things
wrong, and I had to manually fix them.
2016-03-03 09:58:08 +00:00
Tom Hacohen 8780da1fbd Eo tests: Update tests according to the new syntax
These tests don't use eolian, but are plain Eo, so they need manual
updating.
2016-03-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Tom Hacohen 3faf3f3fc6 Some automatic migration and some manual adjustments to calc and text.
These file needed some manual adjustments in addition to the automatic
migration, that's why these are separate from the previous and next
commits, so I can easily know there are additional changes to these, and
it wasn't just the script.
2016-03-03 09:56:20 +00:00
Tom Hacohen 438e1db893 Manually semi-migrate files in preparation for the script
The migration scripts breaks with some weird cases, here I manually
migrated some parts, and just removed the eo_do from others without
actually migrating (so I could deal with that later).
2016-03-03 09:56:20 +00:00
Tom Hacohen fc88037977 Eo: Migrate to the new syntax (Eo 4).
The syntax is described in: https://phab.enlightenment.org/w/eo/

Summary:
eo_do(obj, a_set(1)) -> a_set(obj, 1)
eo_do_super(obj, CLASS, a_set(1)) -> a_set(eo_super(obj, CLASS), 1)

eo_do_*_ret() set of functions are no longer needed.

This is the first step, the next step would be to also fix up eo_add()
which currently still uses the old syntax and is not 100% portable.

@feature
2016-03-03 09:53:23 +00:00
Daniel Kolesa a6347f88fd eolian generator: @class methods take const object 2016-03-03 09:53:23 +00:00
Daniel Kolesa b8c820db17 eolian: fix generation tests 2016-03-03 09:53:23 +00:00
Daniel Kolesa 8299be03f4 eolian: generate correct const first param on methods where applicable 2016-03-03 09:53:23 +00:00
Daniel Kolesa 737a297a79 eolian generator: use new call syntax 2016-03-03 09:53:23 +00:00
Daniel Kolesa eb5aa57159 eolian generator: add obj as first param to header method prototypes 2016-03-03 09:53:23 +00:00