Commit Graph

17 Commits

Author SHA1 Message Date
Vincent Torri 6aa141ea7e put again ecore tests in the source tree
SVN revision: 56195
2011-01-16 18:31:21 +00:00
Carsten Haitzler 163bb8a5f5 remove test suite from ecore. gentoo users/ebuild maiontainers are
simply a pain. no more tests within src trees. talk to gentoo if you
don't like it. i wasted enough of my day already trying to talk sense
into them. if we dont tempt them with stuff they dont comprehend then
its less pain for us having to answer their questions.



SVN revision: 55635
2010-12-19 02:46:01 +00:00
Lucas De Marchi d8002ff386 Revert and re-apply badnull patch
Revert previous patch generated by badnull.cocci script, and apply the new one.
The main difference is that assert and assert-like functions are not touched
anymore.




SVN revision: 51650
2010-08-26 01:34:13 +00:00
Vincent Torri 426da862ae get the verbosity with the env variable CK_VERBOSITY. By default, nothing is changed.
Values for CK_VERBOSITY:
silent
minimal
normal (the default)
verbose

Ex. of use:

CK_VERBOSITY=verbose make check


SVN revision: 51534
2010-08-22 17:53:01 +00:00
Vincent Torri bb17bf9216 separate the Ecore_X test from the Ecore one
SVN revision: 51533
2010-08-22 17:38:51 +00:00
Vincent Torri 0d89124a68 * add more checks
* add comments about strange code


SVN revision: 51525
2010-08-22 17:14:05 +00:00
Lucas De Marchi 5a8a8c9014 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Lucas De Marchi 32a891e57e Don't return int in functions returning Eina_Bool
SVN revision: 51201
2010-08-16 12:03:49 +00:00
Lucas De Marchi a42edc5cdc Remove ecore_{init,shutdown} from tests
Now ecore_x properly calls ecore_start() and ecore_shutdown(), as it should
be, so no need to do it here.



SVN revision: 50837
2010-08-05 13:58:49 +00:00
Lucas De Marchi 9a89c799d7 Add missing ecore_{init,shutdown} to bell test
SVN revision: 50829
2010-08-05 02:25:50 +00:00
Lucas De Marchi 01d20339dd Create interface to system bell
Only the xlib implementation is done. It's calling XBell() to alert user.



SVN revision: 50290
2010-07-16 20:54:18 +00:00
Lucas De Marchi 7051feb04e Fix callback signatures
The change from returning int to Eina_Bool left several call sites with
warnings because they were not updated. Here they are fixed by using
Coccinelle, a tool that allows us to automate tasks like that. This
commit was generated from the following semantic patch:

virtual org

@r1@
identifier fn!=NULL, fn2;
expression E1, E2, E3;
@@
(
ecore_event_handler_add(E1, fn, ...)
|
ecore_event_filter_add(E1, fn, ...)
|
ecore_idler_add(fn, ...)
|
ecore_idle_enterer_add(E1, fn, ...)
|
ecore_idle_enterer_before_add(E1, fn, ...)
|
ecore_idle_exiter_add(E1, fn, ...)
|
ecore_main_fd_handler_add(E1, E2, fn, E3, fn2, ...)
|
ecore_main_win32_handler_add(E1, fn, ...)
|
ecore_timer_add(E1, fn, ...)
|
ecore_timer_loop_add(E1, fn, ...)
|
ecore_animator_add(fn, ...)
|
ecore_poller_add(E1, E2, fn, ...)
)

@r2@
identifier r1.fn;
identifier ret;
typedef Eina_Bool;
position p;
@@
- int
+ Eina_Bool
fn@p(...) {
<...
(
- return 1;
+ return EINA_TRUE;
|
- return 0;
+ return EINA_FALSE;
|
- int
+ Eina_Bool
ret;
...
return <+...ret...+>;
|
return ...;
)
...>
}

@r3@
identifier r1.fn2;
identifier ret;
position p;
@@
- int
+ Eina_Bool
fn2@p(...) {
...
(
- return 1;
+ return EINA_TRUE;
|
- return 0;
+ return EINA_FALSE;
|
- int
+ Eina_Bool
ret;
...
return <+...ret...+>;
|
return ...;
)
...
}

@r4@
identifier r1.fn;
@@
- int
+ Eina_Bool
fn(...);

@r5@
identifier r1.fn2;
@@
- int
+ Eina_Bool
fn2(...);

@script:python depends on org@
p << r2.p;
f << r1.fn;
@@
import sys
msg="WARNING: wrong callback %s! ( %s:%s )" % (f, p[0].file,p[0].line)
print >> sys.stderr, msg

@script:python depends on org@
p << r3.p;
f << r1.fn2;
@@
import sys
msg="WARNING: wrong callback %s! ( %s:%s )" % (f, p[0].file,p[0].line)
print >> sys.stderr, msg



SVN revision: 49985
2010-07-02 01:38:05 +00:00
Lucas De Marchi c3dd8fa055 Fix ecore_events for recursive main loops
This fixes the following scenario:
1) An event handler starts another main loop
2) The new main loop processes all the remaining event_handlers of this
event and the remaining events
3) New events are added to the events list
4) A new iteration occurs

Prior behavior was that on (4) the events already processed were
triggered again. The code added to ecore_suite shows a test case,
similar to the one that is fixed now for modal dialogs on WebKit-EFL. I
preferred to let the INF() messages in order to be easy to copy, paste
and debug outside of the suite if anyone wants to. When the number of
tests grows more, we might want to separate them in different files.

By: Lucas De Marchi <lucas.demarchi@profusion.mobi>



SVN revision: 49390
2010-06-02 06:20:18 +00:00
Lucas De Marchi 98d843e91b Reschedule timer_current in case of inner mainloop
Timers' list is and *ordered list*. Therefore, timers can be added
before timer_current in an inner mainloop. Reschedule timer_current in
this case before looping through timers' list.

Thanks to Barbieri for the insight.

The following test didn't work before and it's ok now (I'm adding it to
ecore_suite too).

static int _timer3(void *data)
{
printf("timer 3, do nothing\n");
return 0;
}

static int _timer2(void *data)
{
printf("timer 2, quit inner\n");
ecore_main_loop_quit();
return 0;
}

static int _timer1(void *data)
{
int *times = data;
(*times)++;
printf("BEGIN: inner\n");

ecore_timer_add(0.3, _timer2, NULL);
ecore_timer_add(0.1, _timer3, NULL);

ecore_main_loop_begin();
printf("END: inner\n");
ecore_main_loop_quit();

return 0;
}

int main(void)
{
int times = 0;

ecore_init();
ecore_timer_add(1.0, _timer1, &times);
printf("BEGIN: main\n");
ecore_main_loop_begin();
assert(times == 1);
printf("timer1 called %d times \n", times);
printf("END: main\n");
return 0;
}

By: Lucas De Marchi <lucas.demarchi@profusion.mobi>



SVN revision: 49245
2010-05-28 02:31:02 +00:00
Mike McCormack fee26de20a From: Mike McCormack <mj.mccormack@samsung.com>
"cd ecore && ./autogen.sh --enable-tests &&make && make check-local" was 
failing.
Make sure to build ecore_suite before trying to run it.



SVN revision: 49053
2010-05-20 05:06:22 +00:00
Gustavo Sverzut Barbieri 6cd7135e5d couple of simple positive tests.
This is far from real unit testing, just simple cases are covered, but
it's better than nothing.



SVN revision: 46477
2010-02-25 19:38:32 +00:00
Vincent Torri a02b17d2f5 add unit tests framework with some examples.
pass --enable-tests to configure to enable them,
then 'make check' to run the tests.


SVN revision: 46456
2010-02-25 08:05:56 +00:00