Bug 121951

Summary: XvfbDriver should set up Xvfb instances providing screens of 8-bit depth
Product: WebKit Reporter: Zan Dobersek <zan>
Component: New BugsAssignee: Zan Dobersek <zan>
Status: RESOLVED FIXED    
Severity: Normal CC: berto, commit-queue, dpranke, glenn, gns, gyuyoung.kim, jberlin, ryuan.choi
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 121960    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch none

Description Zan Dobersek 2013-09-26 06:03:59 PDT
XvfbDriver should set up Xvfb instances providing screens of 8-bit depth
Comment 1 Zan Dobersek 2013-09-26 06:06:58 PDT
Created attachment 212698 [details]
Patch
Comment 2 Carlos Garcia Campos 2013-09-26 06:11:28 PDT
Comment on attachment 212698 [details]
Patch

This is also what xvfb-run does by default. I guess you have checked all test still pass.
Comment 3 Zan Dobersek 2013-09-26 06:29:24 PDT
Comment on attachment 212698 [details]
Patch

Clearing flags on attachment: 212698

Committed r156457: <http://trac.webkit.org/changeset/156457>
Comment 4 Zan Dobersek 2013-09-26 06:29:29 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Jessie Berlin 2013-09-26 09:05:03 PDT
This broke the webkitpy tests:

http://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK1%20%28Tests%29/builds/10416/steps/webkitpy-test/logs/stdio

Running the tests ...
[883/1467] webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_start_next_worker failed:
  Traceback (most recent call last):
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 111, in test_start_next_worker
      self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 63, in assertDriverStartSuccessful
      OutputCapture().assert_outputs(self, driver.start, [pixel_tests, []], expected_logs=expected_logs)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/common/system/outputcapture.py", line 105, in assert_outputs
      testassert(logs_string, expected_logs)
  AssertionError: "MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n" != "MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n" [truncated]...
  - MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']
  ?                                                     ^
  + MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']
  ?                                                     ^^
  
  
[891/1467] webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_start_pixel_tests failed:
  Traceback (most recent call last):
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 76, in test_start_pixel_tests
      self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 63, in assertDriverStartSuccessful
      OutputCapture().assert_outputs(self, driver.start, [pixel_tests, []], expected_logs=expected_logs)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/common/system/outputcapture.py", line 105, in assert_outputs
      testassert(logs_string, expected_logs)
  AssertionError: "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]... != "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]...
    MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None
  - MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']
  ?                                                     ^
  + MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']
  ?                                                     ^^
  
  
[892/1467] webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_start_no_pixel_tests failed:
  Traceback (most recent call last):
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 70, in test_start_no_pixel_tests
      self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0")
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 63, in assertDriverStartSuccessful
      OutputCapture().assert_outputs(self, driver.start, [pixel_tests, []], expected_logs=expected_logs)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/common/system/outputcapture.py", line 105, in assert_outputs
      testassert(logs_string, expected_logs)
  AssertionError: "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]... != "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]...
    MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None
  - MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']
  ?                                                     ^
  + MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']
  ?                                                     ^^
  
  
[1113/1467] webkitpy.port.xvfbdriver_unittest.XvfbDriverTest.test_start_arbitrary_worker_number failed:
  Traceback (most recent call last):
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 82, in test_start_arbitrary_worker_number
      self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py", line 63, in assertDriverStartSuccessful
      OutputCapture().assert_outputs(self, driver.start, [pixel_tests, []], expected_logs=expected_logs)
    File "/Volumes/Data/slave/mountainlion-debug-tests-wk1/build/Tools/Scripts/webkitpy/common/system/outputcapture.py", line 105, in assert_outputs
      testassert(logs_string, expected_logs)
  AssertionError: "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]... != "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', [truncated]...
    MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None
  - MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']
  ?                                                     ^
  + MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']
  ?                                                     ^^
  
  
Ran 1467 tests in 6.742s
FAILED (failures=4, errors=0)
program finished with exit code 1
elapsedTime=9.172221
Comment 6 WebKit Commit Bot 2013-09-26 09:14:26 PDT
Re-opened since this is blocked by bug 121960
Comment 7 Zan Dobersek 2013-09-26 10:23:14 PDT
Created attachment 212722 [details]
Patch
Comment 8 Zan Dobersek 2013-09-26 10:56:37 PDT
Comment on attachment 212722 [details]
Patch

Clearing flags on attachment: 212722

Committed r156475: <http://trac.webkit.org/changeset/156475>
Comment 9 Zan Dobersek 2013-09-26 10:56:44 PDT
All reviewed patches have been landed.  Closing bug.
Comment 10 Alberto Garcia 2013-09-27 05:19:07 PDT
This also broke fast/dom/Window/window-screen-properties.html
Comment 11 Ryuan Choi 2013-09-29 18:52:03 PDT
(In reply to comment #10)
> This also broke fast/dom/Window/window-screen-properties.html

And FYI, EFL port got too many failing cases after this patch.
Comment 12 Gyuyoung Kim 2013-09-29 22:27:08 PDT
(In reply to comment #11)
> (In reply to comment #10)
> > This also broke fast/dom/Window/window-screen-properties.html
> 
> And FYI, EFL port got too many failing cases after this patch.

Hmm, is there any method EFL port doesn't adjust this patch for now ? EFL bots has happened lots of regression after this patch.
Comment 13 Zan Dobersek 2013-09-30 02:15:01 PDT
(In reply to comment #12)
> (In reply to comment #11)
> > (In reply to comment #10)
> > > This also broke fast/dom/Window/window-screen-properties.html
> > 
> > And FYI, EFL port got too many failing cases after this patch.
> 
> Hmm, is there any method EFL port doesn't adjust this patch for now ? EFL bots has happened lots of regression after this patch.

Handled in bug #122089.

(In reply to comment #10)
> This also broke fast/dom/Window/window-screen-properties.html

Unfortunately the test will not be fixable until we require the 8-bit depth hack on the GTK 64-bit release builder.
Comment 14 Gustavo Noronha (kov) 2013-10-08 17:30:13 PDT
Hmm, so we do get GL software rendering on the 64 bits release bot?