summaryrefslogtreecommitdiff
path: root/src/tests/ecore/ecore_test_promise.c (follow)
AgeCommit message (Collapse)Author
2018-04-10tests: move ecore promise tests into efl_app_suiteMike Blumenkrantz
Summary: ref T6815 Depends on D5902 Reviewers: stefan_schmidt Subscribers: cedric Maniphest Tasks: T6815 Differential Revision: https://phab.enlightenment.org/D5903
2018-04-05ecore: and rename the test for Eina_Future to be the only promise test.Cedric Bail
2018-04-05ecore: remove tests of old Efl_Future based on Eo.Cedric Bail
2018-04-05tests: move to using checked fixtures for all test suitesMike Blumenkrantz
individual tests should not need to explicitly call init/shutdown functions in most cases, and many did not properly do this anyway see followup commit which resolves some issues with eina tests ref T6813 ref T6811 Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-04-05tests: add instrumentation to existing tests to find slow testsMike Blumenkrantz
efl_check.h must be included and the EFL_START/END_TEST macros must be used in place of normal START/END_TEST macros timing is enabled when TIMING_ENABLED is set https://phab.enlightenment.org/w/improve_tests/ Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com>
2018-03-03Revert "cxx: Fix manual code after efl_app change."Carsten Haitzler (Rasterman)
This reverts commit 135154303bea691c6f7f9472a5dec32d9103c38d. Revert "efl: move signal events from efl.loop to efl.app" This reverts commit 3dbca39f98288580c62a43c179ac11621433ec88. Revert "efl: add test suite for efl_app" This reverts commit 3e94be5d73256a7f5c02d3a9474173226be7beff. Revert "efl: create Efl.App class, the parent of Efl.Loop" This reverts commit 28fe00b94e55575c15684959b89a614d5a579309. Go back to before efl.app because I think this should be done with superclassing here not a parent object. reasons? 1. multiple loops per single thread make no sense. so if multilpe loop objects they wont be contained in a single app object and then deleted like this. 2. the app object is not really sharable in this design so it cant be accessed from other threads 3. it makes it harder to get the main loop or app object (well 2 func calls one calling the other and more typing. it is longer to type and more work where it is not necessary, and again it can't work from other threads unless we go duplicating efl.app per thread and then what is the point of splittyign out the signal events from efl.loop then?) etc.
2018-02-26efl: create Efl.App class, the parent of Efl.LoopMike Blumenkrantz
2018-01-02efl loop - rename ecore_main_loop_get to efl_main_loop_getCarsten Haitzler (Rasterman)
ecore_main_loop_get() is really a new "eo api" but it's using our old ecore_* namespace, so move to the new efl namespace.
2017-12-15tests - ecore promise - assuming a single loop iterate... wrongCarsten Haitzler (Rasterman)
this should really be an ecore_main_loop_begin plus a quit condition.
2017-12-03ecore: remove a test from old efl_promise to remove use of efl_loop_timeout.Cedric Bail
2017-02-02ecore: implement new requirement in the test suite.Cedric BAIL
2016-12-16ecore: add test for efl_promise_connect.Cedric BAIL
2016-12-16ecore: add tests for new promise delayed behavior.Cedric BAIL
2016-12-16ecore: fix test to generate one main loop iteration to see promise fulfilled.Cedric BAIL
2016-11-07ecore: remove Eina_Promise tests.Cedric BAIL
2016-11-07ecore: remove tests for ecore_thread_promise_run.Cedric BAIL
2016-11-04tests: ecore_promise: removed unused variableStefan Schmidt
Looks like a copy and paste bug form the other tests.
2016-11-03ecore: cleanup testCedric BAIL
2016-11-03ecore: add check to make sure that the order of future_get and value_set can ↵Cedric BAIL
be switched.
2016-11-03ecore: add test for efl_future_then after value_setVitor Sousa
2016-10-19ecore: test recursive case on efl_future.Cedric BAIL
2016-09-15ecore: make sure that progress type have the proper const.Cedric Bail
2016-09-08efl: add documentation and last cleanup of the API.Cedric BAIL
2016-09-08ecore: test efl_future_link.Cedric Bail
2016-09-08ecore: add test for efl_future_race.Cedric Bail
2016-09-08ecore: add tests for efl_future_all.Cedric Bail
2016-09-08ecore: add tests for Efl.Promise.Cedric Bail
2016-08-18eina_error: allow errno.h codes.Gustavo Sverzut Barbieri
we have some duplication of errors between Eina_Error and errno.h, however we should use Eina_Error to extend the traditional errno.h system. then change eina_error_msg_register() and eina_error_msg_static_register() to return a magic bit to state the number was registered, and on other functions test this bit in order to operate on registered values, otherwise fallback to errno.h, such as strerror(). It also deprecates 2 clear duplicated errors: - EINA_ERROR_OUT_OF_MEMORY -> ENOMEM - EINA_ERROR_TIMEOUT -> ETIMEDOUT There are two details when using strerror(): - old behavior did not return strings for non-error, such as "Success" or "Unknown error ${N}" - thread-safety issues: since we must be thread safe, then use strerror_r() and eina_stringshare_add() that value, keeping a hash of cached values
2016-06-09eina: Remove value type promisesLauro Moura
All values in promises are now considered as by-pointer.
2016-06-06eina: Avoid promise early deletion when cancelled.Lauro Moura
Cancelling a promise will fulfill it but won't actually free the memory. This memory is under custody of the owner, who must either call value_set or error_set to finish it.
2016-06-05ecore: Fix ecore thread promisesLauro Moura
Make sure we free the promise memory, set MAGIC numbers and avoid leaking the underlying eina promise
2016-06-03eina: Remove Eina_Promise* parameter in promise callbackFelipe Magno de Almeida
Remove not very useful parameter to eina_promise_then callbacks.
2016-06-03eina: Remove unnecessary indirection to promisesFelipe Magno de Almeida
Now when dealing with pointer types, we will not get pointer to pointer semantics in callbacks and eina_promise_owner_value_set for Eina_Promise. It will work as expected: Eina_Promise_Owner* promise = eina_promise_add(); void* p = malloc(sizeof(T)); eina_promise_owner_value_set(promise, p, &free);
2016-05-26eina: Make cancelled promises use EINA_ERROR_PROMISE_CANCELLED error codeFelipe Magno de Almeida
2016-05-25eina: Add promise parameter to then calllbacksFelipe Magno de Almeida
Added promise parameter to then callbacks so callbacks can steal ownership of the value from the promise.
2016-05-07eina: Fix memory leaks in promiseFelipe Magno de Almeida
2016-05-02ecore: fix promise test wrong use of EINA_UNUSED.Cedric Bail
2016-04-05ecore: add tests for promises with ecore_thread_promise_runFelipe Magno de Almeida
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-03-08Revert "ecore: Create Promises"Tom Hacohen
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 f9ba80ab33e0b94dad7ec103e6d261a644f7835f.
2016-03-06ecore: Create PromisesFelipe Magno de Almeida
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.