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
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.
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
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 on attachment 231366 [details] Patch rs=me.
Comment on attachment 231366 [details] Patch Clearing flags on attachment: 231366 Committed r168833: <http://trac.webkit.org/changeset/168833>
All reviewed patches have been landed. Closing bug.