Commit Graph

38 Commits

Author SHA1 Message Date
Carsten Haitzler 39b48ca430 Revert "fix warnings about redefinting EWAPI etc. due to windows EAPI changes"
This reverts commit e2d6691d52.
This reverts commit c02b796fdb.
This reverts commit 6c969f6b7d.
This reverts commit 74204bccd7.
This reverts commit 1304d95717.
This reverts commit 7c85be9674.

revert the EAPI changes that break cxx bindings build. sorry :( more
fixes needed than i thought
2021-05-26 15:46:25 +01:00
Felipe Magno de Almeida 74204bccd7 ecore: Rename EAPI macro to ECORE_API in Ecore library
Summary:
=  The Rationale =

EAPI was designed to be able to pass
`__attribute__ ((visibility ("default")))` for symbols with
GCC, which would mean that even if -fvisibility=hidden was used
when compiling the library, the needed symbols would get exported.

MSVC __almost__ works like GCC (or mingw) in which you can
declare everything as export and it will just work (slower, but
it will work). But there's a caveat: global variables will not
work the same way for MSVC, but works for mingw and GCC.

For global variables (as opposed to functions), MSVC requires
correct DSO visibility for MSVC: instead of declaring a symbol as
export for everything, you need to declare it as import when
importing from another DSO and export when defining it locally.

With current EAPI definitions, we get the following example
working in mingw and MSVC (observe it doesn't define any global
variables as exported symbols).

Example 1:
dll1:
```
EAPI void foo(void);

EAPI void bar()
{
  foo();
}
```
dll2:
```
EAPI void foo()
{
  printf ("foo\n");
}
```

This works fine with API defined as __declspec(dllexport) in both
cases and for gcc defining as
`__atttribute__((visibility("default")))`.

However, the following:
Example 2:

dll1:

```
EAPI extern int foo;
EAPI void foobar(void);

EAPI void bar()
{
  foo = 5;
  foobar();
}
```

dll2:

```
EAPI int foo = 0;
EAPI void foobar()
{
  printf ("foo %d\n", foo);
}
```

This will work on mingw but will not work for MSVC. And that's why
EAPI is the only solution that worked for MSVC.

Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com>
Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev>
Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com>

Reviewers: vtorri, raster

Reviewed By: raster

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12271
2021-05-23 20:47:23 +01:00
Marcel Hollerbach 39f3ce42dc ecore_evas: Introduce cnp / dnd API for ecore evas
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
  buffer with a Eina_Content, these content pointer ownerships are
  passed to the called. Internally ecore_evas code will memorieze the
  pointer, and pass on function callbacks to the modules, which then do
  not have to deal with the ownership.

- In case the module does not specify these APIs, the callback
  implementation will be called, which only works for cnp *not* dnd.

- Action and mime types are handled as strings, which allows way better
  custom organisations.

(The docs needs improvement)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
2020-03-08 10:59:25 +01:00
Yeongjong Lee 15cc9a65aa ecore_pipe: remove null check condition and fix segfualt on Windows
Summary:
This reverts commit 4917910b49.

4917910b break backward compatibility.

Reproduction:
   void pipe_handler(...);

   pipe = ecore_pipe_add(pipe_handler, NULL);
   ecore_pipe_write(pipe, NULL, 0);

Because of the null check condition, pipe_handler isn't called after 4917910b.
Some apps behavior which is written to expected to call pipe_handler was broken.

also, this patch fixed segfault during build on Windows

Test Plan: make on Windows

Reviewers: raster, zmike, vtorri

Reviewed By: zmike, vtorri

Subscribers: woohyun, cedric, #reviewers, #committers, zmike, vtorri

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6824
2018-08-17 12:42:35 -04:00
Mike Blumenkrantz 9028fb5ac2 tests/ecore: remove ecore-drm test
Summary:
this caused DSO linker issues when enabled and was only testing
init+shutdown for a deprecated component which has not been actively developed
in some time

Reviewers: devilhorns, ManMower, bu5hm4n

Reviewed By: devilhorns, ManMower

Subscribers: bu5hm4n, ManMower, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6539
2018-07-10 14:44:44 -04:00
Mike Blumenkrantz 7aeab74e41 tests: add timeout to fixture for ecore tests
Summary:
this is mainly to handle the case of ecore-file, which fetches external
resources during the test and requires an active network connection which
may fail to resolve/connect/download during the test. if this particular test
fails then it is almost certainly a network issue

a future patch should implement some form of http server to remove the
dependency on external network resources

also probably all test suites should have timeout timers just in case

fix T6950
Depends on D6205

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6950

Differential Revision: https://phab.enlightenment.org/D6206
2018-06-12 11:03:59 -04:00
Mike Blumenkrantz 5bbe49ab99 tests: split ecore thread queue tests into 2 test cases
Summary:
enable running these tests in parallel

ref T6851
Depends on D5905

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6851

Differential Revision: https://phab.enlightenment.org/D5906
2018-04-10 11:28:01 +02:00
Mike Blumenkrantz 5e806ee41f tests: move ecore promise tests into efl_app_suite
Summary:
ref T6815
Depends on D5902

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6815

Differential Revision: https://phab.enlightenment.org/D5903
2018-04-10 11:28:01 +02:00
Mike Blumenkrantz 1bd52cc116 tests: split ecore poller tests into separate file
Summary:
ref T6850
Depends on D5900

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6850

Differential Revision: https://phab.enlightenment.org/D5901
2018-04-10 11:28:01 +02:00
Mike Blumenkrantz 88a6a3c769 tests: split ecore idler tests into separate file
Summary:
ref T6850
Depends on D5899

Reviewers: stefan_schmidt

Subscribers: cedric

Maniphest Tasks: T6850

Differential Revision: https://phab.enlightenment.org/D5900
2018-04-10 11:28:01 +02:00
Cedric Bail 0ba3ffda8d ecore: and rename the test for Eina_Future to be the only promise test. 2018-04-05 13:18:24 -07:00
Cedric Bail 8563e3780e ecore: remove tests of old Efl_Future based on Eo. 2018-04-05 13:17:32 -07:00
Mike Blumenkrantz adc601aca2 tests: add instrumentation to existing tests to find slow tests
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-04-05 11:10:25 +02:00
Guilherme Iscaro 3ba9f25cf7 Eina_Promise/Eina_Future: Add example and tests. 2017-09-04 10:24:00 -03:00
Carsten Haitzler 47e3b171a3 efl test suite - test args event and args values 2016-05-31 17:16:14 +09:00
Cedric Bail 664d677201 ecore: add test case for Efl.Loop.Job. 2016-05-02 18:17:09 -07:00
Felipe Magno de Almeida f534fb8943 ecore: add tests for promises with ecore_thread_promise_run
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-05 11:35:12 -07: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
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
Tom Hacohen a00bbffd3f Ecore tests: REMOVE wayland tests.
These tests aren't really testing anything, and are just broken and annoying.
They only test init and shutdown, and they require a running wayland compositor.

They fail for anyone that has wayland enabled but not running in a wayland session.

They should be brought back once they actual test something, or once we allow skipping
tests that can't be run due to environment issues.
2015-05-08 16:18:36 +01:00
Srivardhan Hebbar 4b0e879591 ecore_con: Split ecore_con test suite from ecore.
Summary:
Have created ecore_con test suite.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, Sergeant_Whitespace, stefan_schmidt

Subscribers: stefan_schmidt, Sergeant_Whitespace, cedric

Maniphest Tasks: T2235

Differential Revision: https://phab.enlightenment.org/D2269
2015-04-06 16:37:53 +02:00
kabeer khan 9f65759387 Ecore File : Added test suite for Ecore File module
Summary:
Added 3 test cases. First to test initialise, shutdown Ecore_File module.
Second to test all file operation functions defined in the module.
Third to test ecore file monitor

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: devilhorns, stefan_schmidt

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1662
2014-11-18 10:51:42 +01:00
Stefan Schmidt 4d66ed9b1f Revert "Ecore File : Added test suite for Ecore File module"
Same problem with this as for the revert before. Fails when run the second
time. See last commit for details.

This reverts commit 5866e166bb.
2014-11-10 11:40:55 +01:00
kabeer khan 5866e166bb Ecore File : Added test suite for Ecore File module
Summary:
Added 2 test cases. First to test initialise, shutdown Ecore_File module and second to test all file operation functions defined in the module.

Signed-off-by: kabeer khan <kabeer.khan@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1600
2014-10-29 09:01:59 -04:00
Srivardhan Hebbar 2119e34d85 ecore_input: Added test suite for ecore_input.
Summary:
Added test suite for ecore_input with one test case.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1602
2014-10-29 08:39:56 -04:00
vivek f59ddff4e2 ecore-fb: Adding test suite for ecore_fb
Summary:
Added test suite for ecore_fb with test for ecore_fb_init
w
Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1594
2014-10-29 08:14:26 -04:00
Srivardhan Hebbar 664c8f7ae4 ecore_drm: Adding test-suite to ecore_drm.
Summary:
Adding test-suite to ecore_drm with one test case.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1583
2014-10-27 08:03:33 -04:00
Srivardhan Hebbar a79adfcc69 ecore_wayland: Created test suit for ecore_wayland.
Summary:
Created test suit for ecore_wayland and added test case for ecore_wl_init and ecore_wl_shutdown.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1498
2014-09-29 09:20:05 -04:00
Mike Blumenkrantz 89d0e9f033 add simple ecore_con_url test suite 2014-07-28 09:48:18 -04:00
Carsten Haitzler 3c130836ad new eina api/object - eina thread queues
@feature

This is a new feature for eina (and EFL) - a zero-copy thread message
queue for sending messages from one thread to another or from the
ecore mainloop to or back to the mainloop from threads. It has a
complete test suite too.
2014-07-15 20:39:13 +09:00
Cedric Bail e570ea7805 ecore: remove coroutine for now. Can easily be reverted for 1.9. 2013-11-05 11:12:20 +09:00
Daniel Willmann 62325dd693 tests/ecore: Add test for ecore_animator
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-05-17 17:15:27 +01:00
Dmytro Kaidalov fc0d46411c ecore: add tests for Ecore_Evas.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-04-12 10:46:47 +09:00
Vitaliy Venzak b3159a889c ecore: add ecore timer test.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-04-12 10:46:47 +09:00
Cedric BAIL 91711d8a69 ecore: add Ecore_Coroutine.
That work clearly was possible thanks to Leandro. If you want more information
go to his blog : http://tia.mat.br/posts/async_io_with_coroutines/ .

The main difference with his implementation is more portable and not thread safe.
It does not have a custom swapcontext (would make sense as we don't need to save
the sigcontext) so it will be less fast. If people are ready to contribute asm
patch for that purpose I will be happy to apply them.

As for portability this code should work on all architecture we already support
thanks to a nice hack with setjmp/longjmp borowed from libcoroutine. We do use
Fiber for Windows support, but as 1.8 is completely borken in that regard, this
is theorical work only.

Thinks left to do :
- Eoify the API
- Documentation
- More tests
- Add support for coroutine in fd handler
- Add coroutine support to ecore_thread api
- Write some example
2013-02-18 14:38:33 +01:00
Gustavo Sverzut Barbieri 733425c62c efl: make libraries aware of EFL_RUN_IN_TREE.
this variable tells that the build is being done in tree and we should
not look at install locations.



SVN revision: 82217
2013-01-04 17:19:43 +00:00
Daniel Willmann 6c054fc7ec ecore_audio: Add tests case
The sounds used are in the public domain and were taken from
freesound.org

Signed-off-by: Daniel Willmann <d.willmann@samsung.com>

SVN revision: 81004
2012-12-14 23:38:40 +00:00
Vincent Torri 128074a2bd Ecore: merge unit tests, ignore++
SVN revision: 80090
2012-12-03 18:29:51 +00:00