Bug 131036

Summary: [EFL] Make XVFBDriver optional
Product: WebKit Reporter: Zsolt Borbely <zsborbely.u-szeged>
Component: WebKit EFLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: clopez, commit-queue, glenn, gyuyoung.kim, lucas.de.marchi, ossy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Zsolt Borbely 2014-04-01 08:17:28 PDT
Performance tests fail inside xvfb with the following error:

$ Tools/Scripts/run-perf-tests --platform=efl -2
Running 128 tests
Running Animation/balls.html (1 of 128)
error: Animation/balls.html
ERR<32384>:evas-gl_common evas_gl_shader.c:1039 _evas_gl_common_shader_program_source_init() Abort compile of shader vert (rect): #ifdef GL_ES
precision highp float;
#endif
attribute vec4 vertex;
attribute vec4 color;
uniform mat4 mvp;
varying vec4 col;
void main()
{
gl_Position = mvp * vertex;
col = color;
}
 
ERR<32384>:ecore_evas ecore_evas_x.c:254 _ecore_evas_x_gl_window_new() evas_engine_info_set() for engine 'opengl_x11' failed.
ERR<32384>:ecore_evas ecore_evas_x.c:3571 ecore_evas_gl_x11_options_new() evas_engine_info_set() init engine 'opengl_x11' failed.
ERR<32384>:evas_main evas_gl.c:42 evas_gl_new() Evas GL engine not available.
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:336 efreet_ini_string_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
ERR<32398>: efreet_ini.c:359 efreet_ini_int_get() safety check failed: ini->section == NULL
 
FAILED
Finished: 9.698913 s
Comment 1 Zsolt Borbely 2014-04-01 08:21:57 PDT
Tools/Scripts/webkitpy/port/efl.py
    def _driver_class(self):
        return XvfbDriver

It is good for a workaround. If we remove these two lines the tests will run.
But unfortunatelly we can't decide the tests are runned as layout or as performation by the driver. That's why we should search a possible solution.
Comment 2 Carlos Alberto Lopez Perez 2014-04-18 06:57:16 PDT
You can use an environment variable.


For example, on the GTK port we have:

    def _driver_class(self):
        if os.environ.get("WAYLAND_DISPLAY"):
            return WestonDriver
        return XvfbDriver
Comment 3 Zsolt Borbely 2014-05-13 03:46:21 PDT
Created attachment 231366 [details]
Patch

I want to commit this manually, because first I have to revert a local workaround in the perf-bot.
Comment 4 Gyuyoung Kim 2014-05-13 20:09:23 PDT
Comment on attachment 231366 [details]
Patch

rs=me.
Comment 5 Csaba Osztrogonác 2014-05-14 05:44:46 PDT
Comment on attachment 231366 [details]
Patch

Clearing flags on attachment: 231366

Committed r168833: <http://trac.webkit.org/changeset/168833>
Comment 6 Csaba Osztrogonác 2014-05-14 05:44:55 PDT
All reviewed patches have been landed.  Closing bug.