Changeset 129941 in webkit


Ignore:
Timestamp:
Sep 28, 2012, 1:28:00 PM (13 years ago)
Author:
dpranke@chromium.org
Message:

webkit-patch rebaseline-expectations is broken
https://bugs.webkit.org/show_bug.cgi?id=97619

Reviewed by Ojan Vafai.

The new expectations format is causing two problems for
webkit-patch rebaseline expectations

1) the transformation into and out of the old syntax (which is
still used internally) is somewhat lossy, e.g., we're not
preserving the case of Bug(x) identifiers. Also, we can't
tell if the input was [ WontFix ] or [ Skip WontFix Pass ]
2) the new syntax is more lenient, allowing for multiple ways to
specify the same result, e.g., "[ Skip ]" may or may not be
missing.

As a result, we end up rewriting a whole bunch of lines for
purely syntactic differences.

Both of these things are bugs that need to be fixed, but
we should also not just rewrite lines that shouldn't be
modified.

This patch fixes the last issue (no rewriting).

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationLine._format_line):
(TestExpectations.remove_rebaselined_tests):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(RebaseliningTest.test_remove):

Location:
trunk/Tools
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r129932 r129941  
     12012-09-28  Dirk Pranke  <dpranke@chromium.org>
     2
     3        webkit-patch rebaseline-expectations is broken
     4        https://bugs.webkit.org/show_bug.cgi?id=97619
     5
     6        Reviewed by Ojan Vafai.
     7
     8        The new expectations format is causing two problems for
     9        webkit-patch rebaseline expectations
     10
     11        1) the transformation into and out of the old syntax (which is
     12        still used internally) is somewhat lossy, e.g., we're not
     13        preserving the case of Bug(x) identifiers. Also, we can't
     14        tell if the input was [ WontFix ] or [ Skip WontFix Pass ]
     15        2) the new syntax is more lenient, allowing for multiple ways to
     16        specify the same result, e.g., "[ Skip ]" may or may not be
     17        missing.
     18
     19        As a result, we end up rewriting a whole bunch of lines for
     20        purely syntactic differences.
     21
     22        Both of these things are bugs that need to be fixed, but
     23        we should also not just rewrite lines that shouldn't be
     24        modified.
     25
     26        This patch fixes the last issue (no rewriting).
     27
     28        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
     29        (TestExpectationLine._format_line):
     30        (TestExpectations.remove_rebaselined_tests):
     31        * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
     32        (RebaseliningTest.test_remove):
     33
    1342012-09-28  Dirk Pranke  <dpranke@chromium.org>
    235
  • trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py

    r129784 r129941  
    971971                         'rebaseline' in expectation.parsed_modifiers))
    972972
    973         return self.list_to_string(filter(without_rebaseline_modifier, self._expectations))
     973        return self.list_to_string(filter(without_rebaseline_modifier, self._expectations), reconstitute_only_these=[])
    974974
    975975    def _add_expectations(self, expectation_list):
  • trunk/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py

    r129784 r129941  
    514514                          'Bug(x0) failures/expected/image.html [ Crash ]\n')
    515515
     516        # Ensure that we don't modify unrelated lines, even if we could rewrite them.
     517        # i.e., the second line doesn't get rewritten to "Bug(y) failures/expected/skip.html"
     518        self.assertRemove('Bug(x) failures/expected/text.html [ Failure Rebaseline ]\n'
     519                          'Bug(Y) failures/expected/image.html [ Skip   ]\n'
     520                          'Bug(z) failures/expected/crash.html\n',
     521                          '',
     522                          ['failures/expected/text.html'],
     523                          'Bug(Y) failures/expected/image.html [ Skip   ]\n'
     524                          'Bug(z) failures/expected/crash.html\n',
     525                          '')
     526
     527
    516528
    517529    def test_no_get_rebaselining_failures(self):
Note: See TracChangeset for help on using the changeset viewer.