| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py
|
| index feabaa9055968687c5d127975112afe8298cdee1..702620b9a1e1adb75286fdf0551828102577d54c 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py
|
| @@ -465,6 +465,10 @@ class SemanticTests(Base):
|
| Bug(exp) failures/expected/text.html [ Failure ]
|
| Bug(exp) failures/expected/text.html [ Timeout ]""", is_lint_mode=True)
|
|
|
| + self.assertRaises(ParseError, self.parse_exp, """
|
| +Bug(exp) failures/expected/text.html [ Failure ]
|
| +Bug(exp) failures/expected/text.html [ NeedsRebaseline ]""", is_lint_mode=True)
|
| +
|
| self.assertRaises(ParseError, self.parse_exp,
|
| self.get_basic_expectations(), overrides="""
|
| Bug(override) failures/expected/text.html [ Failure ]
|
| @@ -476,6 +480,51 @@ Bug(exp) [ Release ] failures/expected/text.html [ Failure ]
|
| Bug(exp) [ Debug ] failures/expected/text.html [ Failure ]
|
| """)
|
|
|
| + def test_duplicates_rebaseline_no_conflict(self):
|
| + # Rebaseline throws in lint mode, so only test it in non-lint mode.
|
| + # Check Rebaseline
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ Rebaseline ]
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +""", is_lint_mode=False)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, REBASELINE])
|
| +
|
| + # Check NeedsRebaseline.
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +Bug(exp) failures/expected/text.html [ NeedsRebaseline ]
|
| +""", is_lint_mode=False)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, NEEDS_REBASELINE])
|
| +
|
| + # Check NeedsManualRebaseline
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +Bug(exp) failures/expected/text.html [ NeedsManualRebaseline ]
|
| +""", is_lint_mode=False)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, NEEDS_MANUAL_REBASELINE])
|
| +
|
| + def test_duplicates_rebaseline_no_conflict_linting(self):
|
| + # Check NeedsRebaseline
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ NeedsRebaseline ]
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +""", is_lint_mode=True)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, NEEDS_REBASELINE])
|
| +
|
| + # Check lines in reverse order.
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +Bug(exp) failures/expected/text.html [ NeedsRebaseline ]
|
| +""", is_lint_mode=True)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, NEEDS_REBASELINE])
|
| +
|
| + # Check NeedsManualRebaseline
|
| + self.parse_exp("""
|
| +Bug(exp) failures/expected/text.html [ Pass Failure ]
|
| +Bug(exp) failures/expected/text.html [ NeedsManualRebaseline ]
|
| +""", is_lint_mode=True)
|
| + self.assert_exp_list('failures/expected/text.html', [PASS, FAIL, NEEDS_MANUAL_REBASELINE])
|
| +
|
| def test_missing_file(self):
|
| self.parse_exp('Bug(test) missing_file.html [ Failure ]')
|
| self.assertTrue(self._exp.has_warnings(), 1)
|
|
|