Commit Graph

1021 Commits

Author SHA1 Message Date
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 72c6236038 Revert "cxx: Migrate C++ binding to the new eo_add syntax"
This reverts commit 48f62ad686.
2016-03-11 12:29:03 +00:00
Vitor Sousa 48f62ad686 cxx: Migrate C++ binding to the new eo_add syntax 2016-03-09 15:46:19 -03:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen df83edaeb6 Ector and eo suite: Semi automatically migrate to the new eo_add.
There were some issues with the migration that required manual
intervention.
2016-03-09 16:09:14 +00:00
Stefan Schmidt 2d0d2802bf tests evas: enable xpm image loader in tests
Added in 2014 and not enabled since then. This seems to be fixed now so we can
finally enable it.
2016-03-09 15:25:35 +01:00
Stefan Schmidt 312dd58889 tests evas: remove commented out function which have not been used since 2014
It was already unused when it was disabled almost two years ago.
dbe02d593e
Its about time to remove it.
2016-03-09 15:25:35 +01:00
Tom Hacohen 7d8cd6c40f Revert "ecore: Create Promises"
Reverting this at Felipe's request following my email. There are many
things I strongly object to in this commit. I've touched the surface of
those on the ML (which doesn't work at the moment), though we need to
better discuss it.

The gist:
1. dlsym is a really bad hack that is not even needed.
2. I don't see why eo should even be aware of promises. It's not aware
of list, hash and etc.
3. The eolian changes were done wrong.

This should have been discussed and consulted before done, even if only
because of the amount of hacks it includes and the cross-domain (ecore,
eo and eolian) nature of it.

This reverts commit f9ba80ab33.
2016-03-08 14:23:57 +00:00
Stefan Schmidt 35c577578a tests eolian: add test cases for type stub generations
While we had the functionality to generate type stubs header we never had
these tested in our unit test setup. Adding to simple cases for struct
and typedef which we already use for normal header generation tests.
2016-03-08 11:14:56 +01:00
Carsten Haitzler 3df71ab0f6 eo del interceptor: add the ability to intercept deletions of eo objects
Imagine this. You have an object. You pass this object handle as a
message to another thread. Let's say it's not a UI object, so
something you might expect to be able to be accessed from multiple
threads. In order to keep the object alive you eo_ref() it when
placing the message on a queue and eo_unref() it once the message is
"done" in the other thread. If the original sender unref()ed the
object before the message is done, then the object will be destroyed
in the reciever thread. This is bad for objects "expecting" not to be
destroyed outside their owning thread.

This allows thius situation to be fixed. A constructor in a class of
an object can set up a delete interceptor. For example if we have a
"loop ownership" class you multi-ple-inherit from/use as a mixin. This
class will set up the interceptor to ensure that on destruction if
pthread_self() != owning loop thread id, then add object to "delete
me" queue on the owning loop and wake it up. the owning loop thread
will wake up and then process this queue and delete the queued objects
nicely and safely within the "owning context".

This can also be used in this same manner to defer deletion within a
loop "until later" in the same delete_me queue.

You can even use this as a caching mechanism for objects to prevernt
their actual destruction and instead place them in a cached area to be
picked from at a later date.

The uses are many for this and this is a basic building block for
future EFL features like generic messages where a message payload
could be an eo object and thus the above loop onwership issue can
happen and needs fixing.

This adds APIs, implementation, documentation (doxy reference) and tests.

@feature
2016-03-08 16:57:22 +09:00
Stefan Schmidt da309d6863 tests: get rid of Eo_Event2 in cxx tests
Hopefully the last occurance of Eo_Event2 in our code base. Fixes a build break.
2016-03-07 14:19:46 +01:00
Felipe Magno de Almeida f9ba80ab33 ecore: Create Promises
Add a promise object that allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.

The usage is like this in a .eo file:

class Foo {
   methods {
      bar {
         params {
            promise: Promise<int>;
         }
      }
   }
}

Which will create the following API interface:

void foo_bar(Ecore_Promise** promise);

and the equivalent declaration for implementation.

However, the API function will instantiate the Promise for the
user and the implementer of the class.
2016-03-06 17:55:33 -03:00
Stefan Schmidt d32aa995e0 tests: disable loading of the scim module as this can causes hangs of the tests
With scim installed we can run into hangs of the test suite when the ecore_imf
scim module tries to connect to the scim on the system. This has happened again
and again on different installations and made the test suite really fragile.

We would need to make sure that scim is configured on the host before we could
run this test. It might be a candidate for skipped tests where we check if the
env has all we need to run the test and if not skip it. We don not have all the
needed pieces in place for this so the best we can do to make the test runs less
fragile is disabling scim module loading for now.
2016-03-04 15:41:42 +01:00
Tom Hacohen 11b3e3ec89 Eo tests: Add tests for null (invalid) array callbacks. 2016-03-04 14:29:20 +00:00
Tom Hacohen b55ec7a34e Eo: remove the long deprecated eo_data_get.
It has been deprecated for a while, and now it's time to actually stop
using it.
2016-03-04 14:23:02 +00:00
Tom Hacohen 70e900db10 Eo tests: Test more cases with legacy events. 2016-03-04 14:21:08 +00:00
Tom Hacohen b5b843bcde Eo tests: Increase coverage for children iterator tests. 2016-03-04 14:16:30 +00:00
Tom Hacohen d72b336f69 Eo tests: add more eo_data_get tests. 2016-03-04 14:09:34 +00: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 cb42da514b eolian: initial conversion of C gen and tests to new type APIs 2016-03-03 18:58:11 +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 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 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
Daniel Kolesa b8c820db17 eolian: fix generation tests 2016-03-03 09:53:23 +00:00
Stefan Schmidt 8992c2aeae tests cxx: remove superfluous output to stdout
These outputs are not giving any more information besides what we already get:

Ecore C++ headers compilePASS: tests/ecore_cxx/cxx_compile_test

(Ignoring the problem with the newline) The test name tells it all and we are
just filling the log.
2016-03-02 15:32:09 +01:00
Jean-Philippe Andre 2d9dc68d09 Evas filter: Add new test case for state and data set 2016-03-02 12:57:23 +09:00
Jean-Philippe Andre 77db872754 Evas filters: Use fail_if instead of fail in test case
This will give more accurate information in case of failure.
2016-03-02 12:57:23 +09:00
Jean-Philippe Andre 24f19dc770 Efl.Gfx.Filter: Rework APIs and mark as stable
- Remove @beta flags,
- Update @since to match stabilization,
- Change methods to properties with keys,
- Use eo_prefix and add filter_ prefix to all properties since
  they use very generic names,

The filter API stays under Efl.Gfx since there are other kinds of
filters, and this one is the particular "graphical filter" or
"effect" API.

The EO API mostly not change from an application point of view,
except for "source_get" which now returns a string directly. Also,
state and data can now be queried.
2016-03-02 12:57:23 +09:00
Felipe Magno de Almeida d40b046685 eolian-cxx: Fix C++ events with new Eo_Event_Cb signature 2016-02-29 11:01:04 -03:00
Tom Hacohen e71e6561ee Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Tom Hacohen 84fd52921e Evas textblock tests: Fix wrong test suite tests.
The tests were assuming that textblock returns a sanitised utf8 string.
This is not always correct, because textblock may cache and return the
set utf8 markup if the text hasn't changed since the last set.
2016-02-26 09:36:44 +00:00
Daniel Kolesa eee5cc4fdc eolian: re-enable strict validation 2016-02-18 10:14:41 +00:00
Vivek Ellur d8166c7507 eina_strbuf: add test cases for eina strbuf prepend functions
Summary:
Added test cases for eina_strbuf_prepend_printf and eina_strbuf_prepend_vprintf
functions

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: raster, jpeg, cedric

Subscribers: seoz, jpeg, raster, cedric

Differential Revision: https://phab.enlightenment.org/D3163
2016-02-17 14:33:59 -08:00
Jean-Philippe Andre f649dac12f tests: Fix evas 3d tests after previous commit 2016-02-17 16:12:35 +09:00
se.osadchy a1584c8a5d evas: Update eina_vector, add new function.
Summary: Add direction transform for eina_vector3.

Reviewers: cedric, Hermet, jpeg

Reviewed By: jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3692
2016-02-17 16:12:35 +09:00
Youngbok Shin 471c7635ee Evas Text: Update text layout when ellipsis is changed without resize
Summary:
When only ellipsis is changed from 0.0~1.0 to -1.0 without resize,
the text is never updated. Because, previous state for ellipsis is never kept
and used properly to check when Evas Text needs to be updated.

It does not have any effect when ellipsis is changed from -1.0 to 0.0~1.0.
Because, Evas text always resize itself according to its text size.
So, necessarily, Evas text object has to be resized to the smaller size.
Commonly, Edje will handle its size if Evas text needs to be ellipsized.
@fix

Test Plan: Test case is included.

Reviewers: tasn, woohyun, herdsman

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3448
2016-02-16 17:42:11 +02:00
Tom Hacohen 936801e8bb Efl tests: Fix running of tests. 2016-02-16 13:03:20 +00:00
Tom Hacohen d3b7e067ef Efl tests: Fix dangerous coding style. 2016-02-16 13:01:00 +00:00
Tom Hacohen a47122c1ca Eeze test: Fix eeze test compilation. 2016-02-16 12:54:29 +00:00
Vincent Torri 66b60da444 Test rework
Summary:
Factorisation of the infra
make uniform all the tests

Test rework #1: Ecore

Test rework #2: Ecore_Con

Test rework #3: Ecore_Cxx

Test rework #4: Ector

Test rework #5: Edje

Test rework #6: Eet

This one is big: I had to split the huge eet_suite.c into separate test files
and it needs more review

Test rework #7: Eet_Cxx

Test rework #8: Eeze

eeze_suite.c has also been splitted

Test rework #9: Efreet

this efreet test suite needs more love later

Test rework #10: Eina

mainly minor stuff: whitespaces, order of includes, ... Just don't fear the number
of changed files :-)

Test rework #11: Eina_Cxx

Test rework #12: Eio

Test rework #13: ElDbus

Test rework #14: ElDbus_Cxx

Test rework #15: Elua

Test rework #16: Emile

Test rework #17: Eo

I've only touched the suite/ subdir. Maybe we should merege the others into
the test suite in suite/

Test rework #18: Eolian

Test rework #19: Eolian_Cxx

Test rework #20: Evas

Test rework #21: Evil

Test Plan: make check

Reviewers: cedric, jpeg, tasn

Differential Revision: https://phab.enlightenment.org/D3654
2016-02-16 12:41:06 +00:00
Vincent Torri 71f0fb98f0 Test rework #20: Evas 2016-02-16 12:41:06 +00:00
Vincent Torri ee8ff34d7b Test rework #19: Eolian_Cxx 2016-02-16 12:41:06 +00:00
Vincent Torri 6e6a0b59ed Test rework #18: Eolian 2016-02-16 12:41:06 +00:00
Vincent Torri d525034ec8 Test rework #17: Eo
I've only touched the suite/ subdir. Maybe we should merege the others into
the test suite in suite/
2016-02-16 12:41:06 +00:00
Vincent Torri 41e626c190 Test rework #16: Emile 2016-02-16 12:41:06 +00:00
Vincent Torri 9dcad9fd9e Test rework #15: Elua 2016-02-16 12:41:06 +00:00
Vincent Torri 7555493b90 Test rework #14: ElDbus_Cxx 2016-02-16 12:41:06 +00:00
Vincent Torri 21746ce8dc Test rework #13: ElDbus 2016-02-16 12:41:06 +00:00