Changeset 156475 in webkit


Ignore:
Timestamp:
Sep 26, 2013 10:57:53 AM (11 years ago)
Author:
zandobersek@gmail.com
Message:

XvfbDriver should set up Xvfb instances providing screens of 8-bit depth
https://bugs.webkit.org/show_bug.cgi?id=121951

Reviewed by Carlos Garcia Campos.

Screens with 24-bit depth are causing problems as it doesn't seem to be possible to fall back to
software rendering successfully on the GTK 64-bit release builder, resulting in crashes in almost
500 layout tests that trigger accelerated compositing to be used.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver._start):

  • Scripts/webkitpy/port/xvfbdriver_unittest.py: Update unit test baselines.

(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_next_free_display):
(XvfbDriverTest.test_start_next_worker):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r156472 r156475  
     12013-09-26  Zan Dobersek  <zdobersek@igalia.com>
     2
     3        XvfbDriver should set up Xvfb instances providing screens of 8-bit depth
     4        https://bugs.webkit.org/show_bug.cgi?id=121951
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Screens with 24-bit depth are causing problems as it doesn't seem to be possible to fall back to
     9        software rendering successfully on the GTK 64-bit release builder, resulting in crashes in almost
     10        500 layout tests that trigger accelerated compositing to be used.
     11
     12        * Scripts/webkitpy/port/xvfbdriver.py:
     13        (XvfbDriver._start):
     14        * Scripts/webkitpy/port/xvfbdriver_unittest.py: Update unit test baselines.
     15        (XvfbDriverTest.test_start_no_pixel_tests):
     16        (XvfbDriverTest.test_start_pixel_tests):
     17        (XvfbDriverTest.test_start_arbitrary_worker_number):
     18        (XvfbDriverTest.test_next_free_display):
     19        (XvfbDriverTest.test_start_next_worker):
     20
    1212013-09-26  Tim Horton  <timothy_horton@apple.com>
    222
  • trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py

    r156461 r156475  
    7575        self._lock_file = "/tmp/.X%d-lock" % display_id
    7676
    77         run_xvfb = ["Xvfb", ":%d" % display_id, "-screen",  "0", "800x600x24", "-nolisten", "tcp"]
     77        run_xvfb = ["Xvfb", ":%d" % display_id, "-screen",  "0", "800x600x8", "-nolisten", "tcp"]
    7878        with open(os.devnull, 'w') as devnull:
    7979            self._xvfb_process = self._port.host.executive.popen(run_xvfb, stderr=devnull)
  • trunk/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py

    r148502 r156475  
    6767    def test_start_no_pixel_tests(self):
    6868        driver = self.make_driver()
    69         expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n"
     69        expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n"
    7070        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0")
    7171        self.cleanup_driver(driver)
     
    7373    def test_start_pixel_tests(self):
    7474        driver = self.make_driver()
    75         expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n"
     75        expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n"
    7676        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    7777        self.cleanup_driver(driver)
     
    7979    def test_start_arbitrary_worker_number(self):
    8080        driver = self.make_driver(worker_number=17)
    81         expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n"
     81        expected_logs = "MOCK run_command: ['ps', '-eo', 'comm,command'], cwd=None\nMOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n"
    8282        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    8383        self.cleanup_driver(driver)
    8484
    8585    def test_next_free_display(self):
    86         output = "Xorg            /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none\nXvfb            Xvfb :1 -screen 0 800x600x24 -nolisten tcp"
     86        output = "Xorg            /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch -background none\nXvfb            Xvfb :1 -screen 0 800x600x8 -nolisten tcp"
    8787        executive = MockExecutive2(output)
    8888        driver = self.make_driver(executive=executive)
     
    9494        self.assertEqual(driver._next_free_display(), 1)
    9595        self.cleanup_driver(driver)
    96         output = "Xvfb            Xvfb :0 -screen 0 800x600x24 -nolisten tcp"
     96        output = "Xvfb            Xvfb :0 -screen 0 800x600x8 -nolisten tcp"
    9797        executive = MockExecutive2(output)
    9898        driver = self.make_driver(executive=executive)
    9999        self.assertEqual(driver._next_free_display(), 1)
    100100        self.cleanup_driver(driver)
    101         output = "Xvfb            Xvfb :1 -screen 0 800x600x24 -nolisten tcp\nXvfb            Xvfb :0 -screen 0 800x600x24 -nolisten tcp\nXvfb            Xvfb :3 -screen 0 800x600x24 -nolisten tcp"
     101        output = "Xvfb            Xvfb :1 -screen 0 800x600x8 -nolisten tcp\nXvfb            Xvfb :0 -screen 0 800x600x8 -nolisten tcp\nXvfb            Xvfb :3 -screen 0 800x600x8 -nolisten tcp"
    102102        executive = MockExecutive2(output)
    103103        driver = self.make_driver(executive=executive)
     
    108108        driver = self.make_driver()
    109109        driver._next_free_display = lambda: 0
    110         expected_logs = "MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n"
     110        expected_logs = "MOCK popen: ['Xvfb', ':0', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n"
    111111        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":0", pixel_tests=True)
    112112        self.cleanup_driver(driver)
    113113        driver = self.make_driver()
    114114        driver._next_free_display = lambda: 3
    115         expected_logs = "MOCK popen: ['Xvfb', ':3', '-screen', '0', '800x600x24', '-nolisten', 'tcp']\n"
     115        expected_logs = "MOCK popen: ['Xvfb', ':3', '-screen', '0', '800x600x8', '-nolisten', 'tcp']\n"
    116116        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":3", pixel_tests=True)
    117117        self.cleanup_driver(driver)
Note: See TracChangeset for help on using the changeset viewer.