[GTK][WPE] Create common glib expectation file
authorlmoura@igalia.com <lmoura@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 May 2020 15:21:57 +0000 (15:21 +0000)
committerlmoura@igalia.com <lmoura@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 May 2020 15:21:57 +0000 (15:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=211183

Reviewed by Carlos Garcia Campos.

Tools:

* Scripts/webkitpy/port/gtk.py:
(GtkPort._search_paths): Add glib to expectations search path
(GtkPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/gtk_unittest.py:
(GtkPortTest.test_default_baseline_search_path): Update test
(GtkPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier
* Scripts/webkitpy/port/wpe.py:
(WPEPort._search_paths): Add glib to expectations search path
(WPEPort.test_expectations_file_position): Update test
* Scripts/webkitpy/port/wpe_unittest.py:
(WPEPortTest.test_default_baseline_search_path): Update test
(WPEPortTest.test_port_specific_expectations_files): Update test and
make check-webkit-style happier

LayoutTests:

* platform/glib/TestExpectations: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@261383 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/glib/TestExpectations [new file with mode: 0644]
Tools/ChangeLog
Tools/Scripts/webkitpy/port/gtk.py
Tools/Scripts/webkitpy/port/gtk_unittest.py
Tools/Scripts/webkitpy/port/wpe.py
Tools/Scripts/webkitpy/port/wpe_unittest.py

index 43eb1f5..71b379d 100644 (file)
@@ -1,3 +1,12 @@
+2020-05-08  Lauro Moura  <lmoura@igalia.com>
+
+        [GTK][WPE] Create common glib expectation file
+        https://bugs.webkit.org/show_bug.cgi?id=211183
+
+        Reviewed by Carlos Garcia Campos.
+
+        * platform/glib/TestExpectations: Added.
+
 2020-05-08  Simon Fraser  <simon.fraser@apple.com>
 
         Overflow scrollers in iframes don't get mouseMovedInContentArea()
diff --git a/LayoutTests/platform/glib/TestExpectations b/LayoutTests/platform/glib/TestExpectations
new file mode 100644 (file)
index 0000000..5312ec4
--- /dev/null
@@ -0,0 +1,153 @@
+# These are the layout test expectations for the glib-based ports: WebKitGTK and WPE.
+#
+# This file is used to track common expectations to both ports.
+#
+# The bots of WebKitGTK+/WPE running layout tests (GTK Release Test, GTK Debug Test,
+# GTK Release Wayland Test, WPE Release Test, and WPE Debug Test)
+# are currently running on Debian 10 (Buster) x86_64.
+#
+# See http://trac.webkit.org/wiki/TestExpectations for more information on this file.
+#
+# Never add any tests to this file without opening a bug on bugzilla.webkit.org.
+
+#//////////////////////////////////////////////////////////////////////////////////////////
+# Platform-specific directories.
+#//////////////////////////////////////////////////////////////////////////////////////////
+
+#//////////////////////////////////////////////////////////////////////////////////////////
+# End platform-specific directories.
+#//////////////////////////////////////////////////////////////////////////////////////////
+
+# This list is divided into several sections to make it easy for us to triage and close issues.
+# 1. TESTS THAT REQUIRE NEW RESULTS
+# Please don't add any tests to this list. Instead just ping a WebKitGTK/WPE developer
+# to generate results for you.
+#
+# 2. EXPECTED FAILURES
+# This list is divided into two parts:
+# a. Tests that we never expect to pass, because they use features we likely
+#    will never implement (Mac-only features, for instance).
+# b. Missing WebCore/WebKit features that we'll want someday.
+#
+# 3. TESTS CRASHING
+# Please open a bug for each test crashing with any important information.
+# These are in a separate section than failing tests, because they should be
+# priority fixes.
+#
+# 4. FLAKY TESTS
+# Tests that sometimes pass.
+#
+# 5. SLOW TESTS
+# These tests are assigned the SLOW modifier to prevent them timing out as they
+# otherwise pass, but take a long time to complete due to the nature of test,
+# debug configuration or some other performance-affecting factor.
+#
+# 6. TESTS TIMING OUT
+# Please open a bug for each test timing out with any important information.
+#
+# 7. TESTS WITH ARCHITECTURE-SPECIFIC RESULTS
+# Tests with different results (of which at least one is failure) on 32-bit and 64-bit builders.
+# These tests are essentially marked as flaky, but are noted as failing only on specific architecture.
+#
+# 8. WEBKIT2 REGRESSIONS
+# Tests that are now failing because of the switch to WebKit2, probably misssing some
+# test harness support.
+#
+# 9. TESTS FAILING
+# Each test should (eventually) have a bug. Missing test harness features also go here.
+#
+# 10. TESTS PASSING
+# Tests that pass for GTK/WPE but have different expectations in the global expectations file.
+#
+# 11. THREADED COMPOSITOR FAILURES
+# Tests that are now failing because of the switch to ThreadedCompositor.
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 1. TESTS THAT REQUIRE NEW RESULTS
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of Tests Requiring New Results
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 2. EXPECTED FAILURES
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of Expected Failures
+#////////////////////////////////////////////////////////////////////////////////////////
+
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 3. TESTS CRASHING
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of Crashing tests
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 4. FLAKY TESTS
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of Flaky Tests
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 5. SLOW TESTS
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of slow tests
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 6. TESTS TIMING OUT
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of Tests timing out
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 7. TESTS WITH ARCHITECTURE-SPECIFIC RESULTS
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of tests with architecture-specific results
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 8. WEBKIT2 REGRESSIONS
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of WebKit2-related regressions
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 9. TESTS FAILING
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of non-crashing, non-flaky tests failing
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 10. TESTS PASSING
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of PASSING tests. See top of file where to put new expectations.
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# 11. THREADED COMPOSITOR FAILURES
+#////////////////////////////////////////////////////////////////////////////////////////
+
+#////////////////////////////////////////////////////////////////////////////////////////
+# End of tests failing due to THREADED COMPOSITOR enablement. Don't put random test
+# failures here. See the top of the file for where to put new expectations.
+#////////////////////////////////////////////////////////////////////////////////////////
index cbe43c2..b0a11c0 100644 (file)
@@ -1,3 +1,25 @@
+2020-05-08  Lauro Moura  <lmoura@igalia.com>
+
+        [GTK][WPE] Create common glib expectation file
+        https://bugs.webkit.org/show_bug.cgi?id=211183
+
+        Reviewed by Carlos Garcia Campos.
+
+        * Scripts/webkitpy/port/gtk.py:
+        (GtkPort._search_paths): Add glib to expectations search path
+        (GtkPort.test_expectations_file_position): Update test
+        * Scripts/webkitpy/port/gtk_unittest.py:
+        (GtkPortTest.test_default_baseline_search_path): Update test
+        (GtkPortTest.test_port_specific_expectations_files): Update test and
+        make check-webkit-style happier
+        * Scripts/webkitpy/port/wpe.py:
+        (WPEPort._search_paths): Add glib to expectations search path
+        (WPEPort.test_expectations_file_position): Update test
+        * Scripts/webkitpy/port/wpe_unittest.py:
+        (WPEPortTest.test_default_baseline_search_path): Update test
+        (WPEPortTest.test_port_specific_expectations_files): Update test and
+        make check-webkit-style happier
+
 2020-05-08  Paulo Matos  <pmatos@igalia.com>
 
         Add myself as committer to contributors.json
index d31ee93..049357c 100644 (file)
@@ -209,6 +209,7 @@ class GtkPort(Port):
         if self._driver_class() in [WaylandDriver, WestonDriver]:
             search_paths.append(self.port_name + "-wayland")
         search_paths.append(self.port_name)
+        search_paths.append('glib')
         search_paths.append('wk2')
         search_paths.extend(self.get_option("additional_platform_directory", []))
         return search_paths
@@ -240,8 +241,8 @@ class GtkPort(Port):
                                     self._filesystem, self._path_to_driver, self.port_name, self.get_option('configuration')).generate_crash_log(stdout, stderr)
 
     def test_expectations_file_position(self):
-        # GTK port baseline search path is gtk -> wk2 -> generic (as gtk-wk2 and gtk baselines are merged), so port test expectations file is at third to last position.
-        return 2
+        # GTK port baseline search path is gtk -> glib -> wk2 -> generic (as gtk-wk2 and gtk baselines are merged), so port test expectations file is at third to last position.
+        return 3
 
     def build_webkit_command(self, build_style=None):
         command = super(GtkPort, self).build_webkit_command(build_style)
index 5c1c19c..01acad9 100644 (file)
@@ -53,14 +53,18 @@ class GtkPortTest(port_testcase.PortTestCase):
 
     def test_default_baseline_search_path(self):
         port = self.make_port()
-        self.assertEqual(port.default_baseline_search_path(), ['/mock-checkout/LayoutTests/platform/gtk',
-            '/mock-checkout/LayoutTests/platform/wk2'])
+        self.assertEqual(port.default_baseline_search_path(),
+                         ['/mock-checkout/LayoutTests/platform/gtk',
+                          '/mock-checkout/LayoutTests/platform/glib',
+                          '/mock-checkout/LayoutTests/platform/wk2'])
 
     def test_port_specific_expectations_files(self):
         port = self.make_port()
-        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/TestExpectations',
-            '/mock-checkout/LayoutTests/platform/wk2/TestExpectations',
-            '/mock-checkout/LayoutTests/platform/gtk/TestExpectations'])
+        self.assertEqual(port.expectations_files(),
+                         ['/mock-checkout/LayoutTests/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/wk2/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/glib/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/gtk/TestExpectations'])
 
     def test_show_results_html_file(self):
         port = self.make_port()
index 614e026..321cb31 100644 (file)
@@ -111,7 +111,7 @@ class WPEPort(Port):
         return self._path_to_image_diff()
 
     def _search_paths(self):
-        return [self.port_name, 'wk2'] + self.get_option("additional_platform_directory", [])
+        return [self.port_name, 'glib', 'wk2'] + self.get_option("additional_platform_directory", [])
 
     def default_baseline_search_path(self, **kwargs):
         return list(map(self._webkit_baseline_path, self._search_paths()))
@@ -120,8 +120,8 @@ class WPEPort(Port):
         return list(map(lambda x: self._filesystem.join(self._webkit_baseline_path(x), 'TestExpectations'), reversed(self._search_paths())))
 
     def test_expectations_file_position(self):
-        # WPE port baseline search path is wpe -> wk2 -> generic, so port test expectations file is at third to last position.
-        return 2
+        # WPE port baseline search path is wpe -> glib -> wk2 -> generic, so port test expectations file is at third to last position.
+        return 3
 
     def _get_crash_log(self, name, pid, stdout, stderr, newer_than, target_host=None):
         return GDBCrashLogGenerator(self._executive, name, pid, newer_than,
index d42933c..b60f280 100644 (file)
@@ -54,14 +54,18 @@ class WPEPortTest(port_testcase.PortTestCase):
 
     def test_default_baseline_search_path(self):
         port = self.make_port()
-        self.assertEqual(port.default_baseline_search_path(), ['/mock-checkout/LayoutTests/platform/wpe',
-            '/mock-checkout/LayoutTests/platform/wk2'])
+        self.assertEqual(port.default_baseline_search_path(),
+                         ['/mock-checkout/LayoutTests/platform/wpe',
+                          '/mock-checkout/LayoutTests/platform/glib',
+                          '/mock-checkout/LayoutTests/platform/wk2'])
 
     def test_port_specific_expectations_files(self):
         port = self.make_port()
-        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/TestExpectations',
-            '/mock-checkout/LayoutTests/platform/wk2/TestExpectations',
-            '/mock-checkout/LayoutTests/platform/wpe/TestExpectations'])
+        self.assertEqual(port.expectations_files(),
+                         ['/mock-checkout/LayoutTests/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/wk2/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/glib/TestExpectations',
+                          '/mock-checkout/LayoutTests/platform/wpe/TestExpectations'])
 
     def test_default_timeout_ms(self):
         self.assertEqual(self.make_port(options=MockOptions(configuration='Release')).default_timeout_ms(), 15000)