new-run-webkit-tests needs a shared TestExpectations between all WebKit ports
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2013 00:56:23 +0000 (00:56 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Feb 2013 00:56:23 +0000 (00:56 +0000)
https://bugs.webkit.org/show_bug.cgi?id=37565

Introduce generic TestExpectations file that applies as a fallback for all ports, the location of which
is LayoutTests/TestExpectations.

Patch by Glenn Adams <glenn@skynav.com> on 2013-02-14
Reviewed by Dirk Pranke.

Tools:

* Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py:
(FakePort.path_to_generic_test_expectations_file):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.__init__):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.path_to_generic_test_expectations_file):
(Port):
(Port._port_specific_expectations_files):
(Port.expectations_files):
* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
(ChromiumPortTestCase.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
(GtkPortTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/mac.py:
(MacPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(PortTestCase.test_expectations_ordering):
(test_expectations_files):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort._port_specific_expectations_files):
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
(QtPortTest.test_expectations_files):
* Scripts/webkitpy/layout_tests/port/win_unittest.py:
(WinPortTest.test_expectations_files):
* Scripts/webkitpy/tool/commands/queries_unittest.py:
(PrintExpectationsTest.test_paths):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineTest._update_expectations_file):

LayoutTests:

* TestExpectations: Added.

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

19 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations [new file with mode: 0644]
Tools/ChangeLog
Tools/Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py
Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py
Tools/Scripts/webkitpy/layout_tests/port/base.py
Tools/Scripts/webkitpy/layout_tests/port/chromium.py
Tools/Scripts/webkitpy/layout_tests/port/chromium_android.py
Tools/Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py
Tools/Scripts/webkitpy/layout_tests/port/efl.py
Tools/Scripts/webkitpy/layout_tests/port/gtk.py
Tools/Scripts/webkitpy/layout_tests/port/gtk_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/mac.py
Tools/Scripts/webkitpy/layout_tests/port/port_testcase.py
Tools/Scripts/webkitpy/layout_tests/port/qt.py
Tools/Scripts/webkitpy/layout_tests/port/qt_unittest.py
Tools/Scripts/webkitpy/layout_tests/port/win_unittest.py
Tools/Scripts/webkitpy/tool/commands/queries_unittest.py
Tools/Scripts/webkitpy/tool/commands/rebaseline.py

index f345460ac88f81757fd19bc53118ce30e74cf732..53f993e21ec87fa1fc55769c7a64ae9e4eb40d26 100644 (file)
@@ -1,3 +1,15 @@
+2013-02-14  Glenn Adams  <glenn@skynav.com>
+
+        new-run-webkit-tests needs a shared TestExpectations between all WebKit ports
+        https://bugs.webkit.org/show_bug.cgi?id=37565
+
+        Introduce generic TestExpectations file that applies as a fallback for all ports, the location of which
+        is LayoutTests/TestExpectations.
+
+        Reviewed by Dirk Pranke.
+
+        * TestExpectations: Added.
+
 2013-02-14  Hajime Morrita  <morrita@google.com>
 
         [V8] Assertion failure on an exception is thrown
diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations
new file mode 100644 (file)
index 0000000..ae903aa
--- /dev/null
@@ -0,0 +1,3 @@
+# This file contains generic test expectations that apply to all ports of WebKit.
+#
+# See http://trac.webkit.org/wiki/TestExpectations for more information on this file.
index 3052673136fa3eb1f246fc43d41f645c05fcb885..071a6093496a3d8ad513fe20e7c00c7b3a5a7853 100644 (file)
@@ -1,3 +1,50 @@
+2013-02-14  Glenn Adams  <glenn@skynav.com>
+
+        new-run-webkit-tests needs a shared TestExpectations between all WebKit ports
+        https://bugs.webkit.org/show_bug.cgi?id=37565
+
+        Introduce generic TestExpectations file that applies as a fallback for all ports, the location of which
+        is LayoutTests/TestExpectations.
+
+        Reviewed by Dirk Pranke.
+
+        * Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py:
+        (FakePort.path_to_generic_test_expectations_file):
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        (TestExpectations.__init__):
+        * Scripts/webkitpy/layout_tests/port/base.py:
+        (Port.path_to_generic_test_expectations_file):
+        (Port):
+        (Port._port_specific_expectations_files):
+        (Port.expectations_files):
+        * Scripts/webkitpy/layout_tests/port/chromium.py:
+        (ChromiumPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/chromium_android.py:
+        (ChromiumAndroidPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/chromium_port_testcase.py:
+        (ChromiumPortTestCase.test_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/efl.py:
+        (EflPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/gtk.py:
+        (GtkPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
+        (GtkPortTest.test_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/mac.py:
+        (MacPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/port_testcase.py:
+        (PortTestCase.test_expectations_ordering):
+        (test_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/qt.py:
+        (QtPort._port_specific_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
+        (QtPortTest.test_expectations_files):
+        * Scripts/webkitpy/layout_tests/port/win_unittest.py:
+        (WinPortTest.test_expectations_files):
+        * Scripts/webkitpy/tool/commands/queries_unittest.py:
+        (PrintExpectationsTest.test_paths):
+        * Scripts/webkitpy/tool/commands/rebaseline.py:
+        (RebaselineTest._update_expectations_file):
+
 2013-02-14  Jochen Eisinger  <jochen@chromium.org>
 
         [chromium] move pixel generation logic to TestRunner library
index 89ade193310bf015ae3d68a870e0632f653fee22..47280292a559b3bf80973516560242cc51cf6df6 100644 (file)
@@ -59,6 +59,8 @@ class FakePort(object):
     def get_option(self, _, val):
         return val
 
+    def path_to_generic_test_expectations_file(self):
+        return ''
 
 class FakeFactory(object):
     def __init__(self, host, ports):
index da8ebbb636f5dc7eee47500b60bf79ca4fa5dff1..f5c977e57a00483a27eaebce37f970624fb4fa67 100644 (file)
@@ -842,7 +842,7 @@ class TestExpectations(object):
     # FIXME: This constructor does too much work. We should move the actual parsing of
     # the expectations into separate routines so that linting and handling overrides
     # can be controlled separately, and the constructor can be more of a no-op.
-    def __init__(self, port, tests=None, include_overrides=True, expectations_to_lint=None):
+    def __init__(self, port, tests=None, include_generic=True, include_overrides=True, expectations_to_lint=None):
         self._full_test_list = tests
         self._test_config = port.test_configuration()
         self._is_lint_mode = expectations_to_lint is not None
@@ -850,16 +850,32 @@ class TestExpectations(object):
         self._parser = TestExpectationParser(port, tests, self._is_lint_mode)
         self._port = port
         self._skipped_tests_warnings = []
+        self._expectations = []
 
         expectations_dict = expectations_to_lint or port.expectations_dict()
-        self._expectations = self._parser.parse(expectations_dict.keys()[0], expectations_dict.values()[0])
-        self._add_expectations(self._expectations)
 
-        if len(expectations_dict) > 1 and include_overrides:
-            for name in expectations_dict.keys()[1:]:
-                expectations = self._parser.parse(name, expectations_dict[name])
+        expectations_dict_index = 0
+        # Populate generic expectations (if enabled by include_generic).
+        if port.path_to_generic_test_expectations_file() in expectations_dict:
+            if include_generic:
+                expectations = self._parser.parse(expectations_dict.keys()[expectations_dict_index], expectations_dict.values()[expectations_dict_index])
                 self._add_expectations(expectations)
                 self._expectations += expectations
+            expectations_dict_index += 1
+
+        # Populate default port expectations (always enabled).
+        if len(expectations_dict) > expectations_dict_index:
+            expectations = self._parser.parse(expectations_dict.keys()[expectations_dict_index], expectations_dict.values()[expectations_dict_index])
+            self._add_expectations(expectations)
+            self._expectations += expectations
+            expectations_dict_index += 1
+
+        # Populate override expectations (if enabled by include_overrides).
+        while len(expectations_dict) > expectations_dict_index and include_overrides:
+            expectations = self._parser.parse(expectations_dict.keys()[expectations_dict_index], expectations_dict.values()[expectations_dict_index])
+            self._add_expectations(expectations)
+            self._expectations += expectations
+            expectations_dict_index += 1
 
         # FIXME: move ignore_tests into port.skipped_layout_tests()
         self.add_skipped_tests(port.skipped_layout_tests(tests).union(set(port.get_option('ignore_tests', []))))
index d45b20f3cfedfe79bafb7bb24a0756000355ee6c..eb26c6b7d6214f12c05dc58b3e59d4a2525c6abe 100644 (file)
@@ -805,6 +805,10 @@ class Port(object):
     def set_option_default(self, name, default_value):
         return self._options.ensure_value(name, default_value)
 
+    @memoized
+    def path_to_generic_test_expectations_file(self):
+        return self._filesystem.join(self.layout_tests_dir(), 'TestExpectations')
+
     @memoized
     def path_to_test_expectations_file(self):
         """Update the test expectations to the passed-in string.
@@ -1070,7 +1074,7 @@ class Port(object):
                 _log.warning("additional_expectations path '%s' does not exist" % path)
         return expectations
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         # Unlike baseline_search_path, we only want to search [WK2-PORT, PORT-VERSION, PORT] and any directories
         # included via --additional-platform-directory, not the full casade.
         search_paths = [self.port_name]
@@ -1088,6 +1092,9 @@ class Port(object):
 
         return [self._filesystem.join(self._webkit_baseline_path(d), 'TestExpectations') for d in search_paths]
 
+    def expectations_files(self):
+        return [self.path_to_generic_test_expectations_file()] + self._port_specific_expectations_files()
+
     def repository_paths(self):
         """Returns a list of (repository_name, repository_path) tuples of its depending code base.
         By default it returns a list that only contains a ('webkit', <webkitRepossitoryPath>) tuple."""
index 0906a7dd489523e5e7356b53a4e02d8abe724d0f..7fbabbcfa13d36ff50482b3b12b7d8dcb3494648 100644 (file)
@@ -349,7 +349,7 @@ class ChromiumPort(Port):
     def warn_if_bug_missing_in_test_expectations(self):
         return True
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         paths = [self.path_to_test_expectations_file()]
         skia_expectations_path = self.path_from_chromium_base('skia', 'skia_test_expectations.txt')
         # FIXME: we should probably warn if this file is missing in some situations.
index 172835dfaa7ed59f300a04adf63637a072a3e2e3..ea2e9cb5b6dec836b424da639c9b6d4575cff7a5 100644 (file)
@@ -234,12 +234,12 @@ class ChromiumAndroidPort(chromium.ChromiumPort):
                 return False
         return True
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         # LayoutTests/platform/chromium-android/TestExpectations should contain only the rules to
         # skip tests for the features not supported or not testable on Android.
         # Other rules should be in LayoutTests/platform/chromium/TestExpectations.
         android_expectations_file = self.path_from_webkit_base('LayoutTests', 'platform', 'chromium-android', 'TestExpectations')
-        return super(ChromiumAndroidPort, self).expectations_files() + [android_expectations_file]
+        return super(ChromiumAndroidPort, self)._port_specific_expectations_files() + [android_expectations_file]
 
     def requires_http_server(self):
         """Chromium Android runs tests on devices, and uses the HTTP server to
index 4d63337e31b87b56e71783c54fddf4b4a86c5c9d..f151ced7d1b02cc284284b11f1e27fcd1349c00c 100644 (file)
@@ -176,6 +176,7 @@ class ChromiumPortTestCase(port_testcase.PortTestCase):
         port = self.make_port()
         port.port_name = 'chromium'
 
+        generic_path = port.path_to_generic_test_expectations_file()
         expectations_path = port.path_to_test_expectations_file()
         chromium_overrides_path = port.path_from_chromium_base(
             'webkit', 'tools', 'layout_tests', 'test_expectations.txt')
@@ -185,15 +186,15 @@ class ChromiumPortTestCase(port_testcase.PortTestCase):
         port._filesystem.write_text_file(skia_overrides_path, 'dummay text')
 
         port._options.builder_name = 'DUMMY_BUILDER_NAME'
-        self.assertEqual(port.expectations_files(), [expectations_path, skia_overrides_path, chromium_overrides_path])
+        self.assertEqual(port.expectations_files(), [generic_path, expectations_path, skia_overrides_path, chromium_overrides_path])
 
         port._options.builder_name = 'builder (deps)'
-        self.assertEqual(port.expectations_files(), [expectations_path, skia_overrides_path, chromium_overrides_path])
+        self.assertEqual(port.expectations_files(), [generic_path, expectations_path, skia_overrides_path, chromium_overrides_path])
 
         # A builder which does NOT observe the Chromium test_expectations,
         # but still observes the Skia test_expectations...
         port._options.builder_name = 'builder'
-        self.assertEqual(port.expectations_files(), [expectations_path, skia_overrides_path])
+        self.assertEqual(port.expectations_files(), [generic_path, expectations_path, skia_overrides_path])
 
     def test_expectations_ordering(self):
         # since we don't implement self.port_name in ChromiumPort.
index 1c1b3041127e482373ef7da74e54fbc17d6b399d..08966340344ee6dc8906b3a31f3164e3ad543f89 100644 (file)
@@ -118,7 +118,7 @@ class EflPort(Port):
     def default_baseline_search_path(self):
         return map(self._webkit_baseline_path, self._search_paths())
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         # FIXME: We should be able to use the default algorithm here.
         return list(reversed([self._filesystem.join(self._webkit_baseline_path(p), 'TestExpectations') for p in self._search_paths()]))
 
index de6bed568e7131dce6c8b7db56e8ea9c652616ad..c94378eed87c2077d36a5bd4e700634c87f2bc89 100644 (file)
@@ -111,7 +111,7 @@ class GtkPort(Port):
         search_paths.extend(self.get_option("additional_platform_directory", []))
         return search_paths
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         return [self._filesystem.join(self._webkit_baseline_path(p), 'TestExpectations') for p in reversed(self._search_paths())]
 
     # FIXME: We should find a way to share this implmentation with Gtk,
index 75ae5350395d8b1f5df395abc3d239511a35e926..c28fed446361f8c5d6e6346a67129d17d185ff85 100644 (file)
@@ -52,10 +52,10 @@ class GtkPortTest(port_testcase.PortTestCase):
 
     def test_expectations_files(self):
         port = self.make_port()
-        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/platform/gtk/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk-wk1/TestExpectations'])
+        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk-wk1/TestExpectations'])
 
         port = self.make_port(options=MockOptions(webkit_test_runner=True))
-        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/platform/gtk/TestExpectations', '/mock-checkout/LayoutTests/platform/wk2/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk-wk2/TestExpectations'])
+        self.assertEqual(port.expectations_files(), ['/mock-checkout/LayoutTests/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk/TestExpectations', '/mock-checkout/LayoutTests/platform/wk2/TestExpectations', '/mock-checkout/LayoutTests/platform/gtk-wk2/TestExpectations'])
 
     def test_show_results_html_file(self):
         port = self.make_port()
index 30b3255dbd68c7609d54fa3b8ff163c08c7ca668..1cbb86d32f638be3e96e0709a417ceb3278979a8 100644 (file)
@@ -82,8 +82,8 @@ class MacPort(ApplePort):
             fallback_names = [self._wk2_port_name(), 'wk2'] + fallback_names
         return map(self._webkit_baseline_path, fallback_names)
 
-    def expectations_files(self):
-        return reversed([self._filesystem.join(self._webkit_baseline_path(d), 'TestExpectations') for d in self.baseline_search_path()])
+    def _port_specific_expectations_files(self):
+        return list(reversed([self._filesystem.join(self._webkit_baseline_path(p), 'TestExpectations') for p in self.baseline_search_path()]))
 
     def setup_environ_for_server(self, server_name=None):
         env = super(MacPort, self).setup_environ_for_server(server_name)
index 85a8036dd58231a77b631c3d978cc5bd5ce16e93..df480d4462d5a6204edc04636f219ec62fbb95d1 100644 (file)
@@ -424,7 +424,8 @@ class PortTestCase(unittest.TestCase):
         for path in port.expectations_files():
             port._filesystem.write_text_file(path, '')
         ordered_dict = port.expectations_dict()
-        self.assertEqual(port.path_to_test_expectations_file(), ordered_dict.keys()[0])
+        self.assertEqual(port.path_to_generic_test_expectations_file(), ordered_dict.keys()[0])
+        self.assertEqual(port.path_to_test_expectations_file(), ordered_dict.keys()[1])
 
         options = MockOptions(additional_expectations=['/tmp/foo', '/tmp/bar'])
         port = self.make_port(options=options)
@@ -507,17 +508,17 @@ class PortTestCase(unittest.TestCase):
         def platform_dirs(port):
             return [port.host.filesystem.basename(port.host.filesystem.dirname(f)) for f in port.expectations_files()]
 
-        self.assertEqual(platform_dirs(port), ['testwebkitport'])
+        self.assertEqual(platform_dirs(port), ['LayoutTests', 'testwebkitport'])
 
         port = TestWebKitPort(port_name="testwebkitport-version")
-        self.assertEqual(platform_dirs(port), ['testwebkitport', 'testwebkitport-version'])
+        self.assertEqual(platform_dirs(port), ['LayoutTests', 'testwebkitport', 'testwebkitport-version'])
 
         port = TestWebKitPort(port_name="testwebkitport-version-wk2")
-        self.assertEqual(platform_dirs(port), ['testwebkitport', 'testwebkitport-version', 'wk2', 'testwebkitport-wk2'])
+        self.assertEqual(platform_dirs(port), ['LayoutTests', 'testwebkitport', 'testwebkitport-version', 'wk2', 'testwebkitport-wk2'])
 
         port = TestWebKitPort(port_name="testwebkitport-version",
                               options=MockOptions(additional_platform_directory=["internal-testwebkitport"]))
-        self.assertEqual(platform_dirs(port), ['testwebkitport', 'testwebkitport-version', 'internal-testwebkitport'])
+        self.assertEqual(platform_dirs(port), ['LayoutTests', 'testwebkitport', 'testwebkitport-version', 'internal-testwebkitport'])
 
     def test_root_option(self):
         port = TestWebKitPort()
index 38b77101ba86b064a4f6e6cfa4720d2172d2b6b1..032f8ea9297dfb01df983f849ee10e8626b002b7 100644 (file)
@@ -147,7 +147,7 @@ class QtPort(Port):
     def default_baseline_search_path(self):
         return map(self._webkit_baseline_path, self._search_paths())
 
-    def expectations_files(self):
+    def _port_specific_expectations_files(self):
         paths = self._search_paths()
         if self.get_option('webkit_test_runner'):
             paths.append('wk2')
index 38edf0af64ed83c63a9616507119b2369202a931..3bfeb8cbc37267b92058aa1f653ba598759c8452 100644 (file)
@@ -97,8 +97,9 @@ class QtPortTest(port_testcase.PortTestCase):
             expectations_case = deepcopy(case)
             if expectations_case['use_webkit2']:
                 expectations_case['search_paths'].append("wk2")
+            expectations_case['search_paths'].append('')
             expectations_case['search_paths'].reverse()
-            expectations_case['search_paths'] = map(lambda path: '/mock-checkout/LayoutTests/platform/%s/TestExpectations' % (path), expectations_case['search_paths'])
+            expectations_case['search_paths'] = map(lambda path: '/mock-checkout/LayoutTests/TestExpectations' if not path else '/mock-checkout/LayoutTests/platform/%s/TestExpectations' % (path), expectations_case['search_paths'])
             self._assert_expectations_files(**expectations_case)
 
     def test_show_results_html_file(self):
index 9027cebb1024d3edc7242483cebb512881fd6707..e77687c02196cabd5c7514237a52e66522a979a2 100644 (file)
@@ -105,5 +105,5 @@ class WinPortTest(port_testcase.PortTestCase):
         self.assertEqual(port._runtime_feature_list(), ['foo', 'bar'])
 
     def test_expectations_files(self):
-        self.assertEqual(len(self.make_port().expectations_files()), 2)
-        self.assertEqual(len(self.make_port(options=MockOptions(webkit_test_runner=True, configuration='Release')).expectations_files()), 4)
+        self.assertEqual(len(self.make_port().expectations_files()), 3)
+        self.assertEqual(len(self.make_port(options=MockOptions(webkit_test_runner=True, configuration='Release')).expectations_files()), 5)
index 1f4b37e684297b636b9467f411a2ae5ec5f4972e..b94b0314eef417246ce3a7315c25f14d1eb14292 100644 (file)
@@ -223,7 +223,8 @@ class PrintExpectationsTest(unittest.TestCase):
 
     def test_paths(self):
         self.run_test([],
-                      ('LayoutTests/platform/test/TestExpectations\n'
+                      ('LayoutTests/TestExpectations\n'
+                       'LayoutTests/platform/test/TestExpectations\n'
                        'LayoutTests/platform/test-win-xp/TestExpectations\n'),
                       paths=True)
 
index 90e1c56e107e42ca42edfcbb6db104758c3d9d26..b6e408d5204d6333ebcfea53235aa3c508735184 100644 (file)
@@ -152,7 +152,7 @@ class RebaselineTest(AbstractRebaseliningCommand):
             path = port.path_to_test_expectations_file()
             lock = self._tool.make_file_lock(path + '.lock')
             lock.acquire_lock()
-            expectations = TestExpectations(port, include_overrides=False)
+            expectations = TestExpectations(port, include_generic=False, include_overrides=False)
             for test_configuration in port.all_test_configurations():
                 if test_configuration.version == port.test_configuration().version:
                     expectationsString = expectations.remove_configuration_from_test(test_name, test_configuration)