Compare commits

...

5 Commits

Author SHA1 Message Date
Tom Hacohen aeb6fcb28c Also fail if exit signal is non-zero.
We should fail if we segfault, or exit because of another error that
ecore_exe reports a zero exit code for.
2013-06-10 16:57:07 +01:00
Tom Hacohen bfffc6e17d unsegfault 2013-06-10 16:47:39 +01:00
Daniel Willmann 5aa5fbec06 ecore_init/shutdown: Proper refcounting for wrappers
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-06-10 16:41:30 +01:00
Tom Hacohen 9b0fb72d66 More output + possible fix 2013-06-10 16:34:54 +01:00
Tom Hacohen 61c3e288c6 more prints 2013-06-10 16:20:29 +01:00
2 changed files with 27 additions and 17 deletions

View File

@ -20,11 +20,13 @@ _job_deleted_cb(void *data, int type EINA_UNUSED, void *event)
Ecore_Exe_Event_Del *msg = (Ecore_Exe_Event_Del *) event;
Scheduler_Ctx *ctx = data;
if (msg->exit_code != 0)
if ((msg->exit_code != 0) || (msg->exit_signal != 0))
{
List_Entry *ent = ecore_exe_data_get(msg->exe);
exactness_ctx.errors = eina_list_append(exactness_ctx.errors, ent);
}
List_Entry *ent2 = ecore_exe_data_get(msg->exe);
fprintf(stderr, "Finished '%s' exit code: '%d'\n", ent2->name, msg->exit_code);
ctx->jobs++;
@ -67,6 +69,7 @@ _job_dispatch(List_Entry *ent, Scheduler_Ctx *ctx)
_job_deleted_cb, ctx);
}
fprintf(stderr, "Executing '%s'\n", buf);
exe = ecore_exe_pipe_run(buf, ECORE_EXE_TERM_WITH_PARENT, ent);
if (!exe)

View File

@ -219,10 +219,12 @@ tsuite_shot_do(char *name, Evas *e)
EAPI int
ecore_init(void)
{
int ret;
int (*_ecore_init)(void) =
dlsym(RTLD_NEXT, "ecore_init");
if (!_hook_setting)
ret = _ecore_init();
if ((ret == 1) && (!_hook_setting))
{
const char *tmp;
_hook_setting = calloc(1, sizeof(evas_hook_setting));
@ -243,33 +245,38 @@ ecore_init(void)
tsuite_evas_hook_init();
}
return _ecore_init();
return ret;
}
EAPI int
ecore_shutdown(void)
{
int ret;
int (*_ecore_shutdown)(void) =
dlsym(RTLD_NEXT, "ecore_shutdown");
if (_hook_setting)
ret = _ecore_shutdown();
if (ret == 0)
{
if (vr_list && _hook_setting->recording)
write_events(_hook_setting->file_name, vr_list);
if (_hook_setting)
{
if (vr_list && _hook_setting->recording)
write_events(_hook_setting->file_name, vr_list);
tsuite_evas_hook_reset();
tsuite_evas_hook_reset();
free(_hook_setting);
_hook_setting = NULL;
free(_hook_setting);
_hook_setting = NULL;
}
if (ts.td)
free(ts.td);
evas_list = eina_list_free(evas_list);
memset(&ts, 0, sizeof(Tsuite_Data));
}
if (ts.td)
free(ts.td);
evas_list = eina_list_free(evas_list);
memset(&ts, 0, sizeof(Tsuite_Data));
return _ecore_shutdown();
return ret;
}
EAPI Evas_Object *