diff options
Diffstat (limited to 'Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py')
-rw-r--r-- | Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py | 81 |
1 files changed, 37 insertions, 44 deletions
diff --git a/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py b/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py index 9fc118360..5abb21302 100644 --- a/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py +++ b/Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py @@ -50,47 +50,6 @@ class MockBugManager(object): return "BUG_NEWLY_CREATED" -class FunctionsTest(unittest.TestCase): - def test_result_was_expected(self): - # test basics - self.assertEquals(result_was_expected(PASS, set([PASS]), - False, False), True) - self.assertEquals(result_was_expected(TEXT, set([PASS]), - False, False), False) - - # test handling of SKIPped tests and results - self.assertEquals(result_was_expected(SKIP, set([CRASH]), - False, True), True) - self.assertEquals(result_was_expected(SKIP, set([CRASH]), - False, False), False) - - # test handling of MISSING results and the REBASELINE modifier - self.assertEquals(result_was_expected(MISSING, set([PASS]), - True, False), True) - self.assertEquals(result_was_expected(MISSING, set([PASS]), - False, False), False) - - def test_remove_pixel_failures(self): - self.assertEquals(remove_pixel_failures(set([TEXT])), - set([TEXT])) - self.assertEquals(remove_pixel_failures(set([PASS])), - set([PASS])) - self.assertEquals(remove_pixel_failures(set([IMAGE])), - set([PASS])) - self.assertEquals(remove_pixel_failures(set([IMAGE_PLUS_TEXT])), - set([TEXT])) - self.assertEquals(remove_pixel_failures(set([PASS, IMAGE, CRASH])), - set([PASS, CRASH])) - - def test_suffixes_for_expectations(self): - self.assertEquals(suffixes_for_expectations(set([TEXT])), set(['txt'])) - self.assertEquals(suffixes_for_expectations(set([IMAGE_PLUS_TEXT])), set(['txt', 'png'])) - self.assertEquals(suffixes_for_expectations(set([IMAGE])), set(['png'])) - self.assertEquals(suffixes_for_expectations(set([AUDIO])), set(['wav'])) - self.assertEquals(suffixes_for_expectations(set([TEXT, IMAGE, CRASH])), set(['txt', 'png'])) - self.assertEquals(suffixes_for_expectations(set()), set()) - - class Base(unittest.TestCase): # Note that all of these tests are written assuming the configuration # being tested is Windows XP, Release build. @@ -137,6 +96,34 @@ BUG_TEST WONTFIX MAC : failures/expected/image.html = IMAGE def assert_bad_expectations(self, expectations, overrides=None): self.assertRaises(ParseError, self.parse_exp, expectations, is_lint_mode=True, overrides=overrides) + def test_result_was_expected(self): + # test basics + self.assertEquals(TestExpectations.result_was_expected(PASS, set([PASS]), test_needs_rebaselining=False, test_is_skipped=False), True) + self.assertEquals(TestExpectations.result_was_expected(TEXT, set([PASS]), test_needs_rebaselining=False, test_is_skipped=False), False) + + # test handling of SKIPped tests and results + self.assertEquals(TestExpectations.result_was_expected(SKIP, set([CRASH]), test_needs_rebaselining=False, test_is_skipped=True), True) + self.assertEquals(TestExpectations.result_was_expected(SKIP, set([CRASH]), test_needs_rebaselining=False, test_is_skipped=False), False) + + # test handling of MISSING results and the REBASELINE modifier + self.assertEquals(TestExpectations.result_was_expected(MISSING, set([PASS]), test_needs_rebaselining=True, test_is_skipped=False), True) + self.assertEquals(TestExpectations.result_was_expected(MISSING, set([PASS]), test_needs_rebaselining=False, test_is_skipped=False), False) + + def test_remove_pixel_failures(self): + self.assertEquals(TestExpectations.remove_pixel_failures(set([TEXT])), set([TEXT])) + self.assertEquals(TestExpectations.remove_pixel_failures(set([PASS])), set([PASS])) + self.assertEquals(TestExpectations.remove_pixel_failures(set([IMAGE])), set([PASS])) + self.assertEquals(TestExpectations.remove_pixel_failures(set([IMAGE_PLUS_TEXT])), set([TEXT])) + self.assertEquals(TestExpectations.remove_pixel_failures(set([PASS, IMAGE, CRASH])), set([PASS, CRASH])) + + def test_suffixes_for_expectations(self): + self.assertEquals(TestExpectations.suffixes_for_expectations(set([TEXT])), set(['txt'])) + self.assertEquals(TestExpectations.suffixes_for_expectations(set([IMAGE_PLUS_TEXT])), set(['txt', 'png'])) + self.assertEquals(TestExpectations.suffixes_for_expectations(set([IMAGE])), set(['png'])) + self.assertEquals(TestExpectations.suffixes_for_expectations(set([AUDIO])), set(['wav'])) + self.assertEquals(TestExpectations.suffixes_for_expectations(set([TEXT, IMAGE, CRASH])), set(['txt', 'png'])) + self.assertEquals(TestExpectations.suffixes_for_expectations(set()), set()) + class BasicTests(Base): def test_basic(self): @@ -200,13 +187,19 @@ BUGX WONTFIX : failures/expected = IMAGE def test_parse_warning(self): try: - self.parse_exp("""FOO : failures/expected/text.html = TEXT -SKIP : failures/expected/image.html""", is_lint_mode=True) + filesystem = self._port.host.filesystem + filesystem.write_text_file(filesystem.join(self._port.layout_tests_dir(), 'disabled-test.html-disabled'), 'content') + self.get_test('disabled-test.html-disabled'), + self.parse_exp("FOO : failures/expected/text.html = TEXT\n" + "SKIP : failures/expected/image.html\n" + "BUGRNIWA : non-existent-test.html = TEXT\n" + "BUGRNIWA : disabled-test.html-disabled = IMAGE", is_lint_mode=True) self.assertFalse(True, "ParseError wasn't raised") except ParseError, e: warnings = ("expectations:1 Test lacks BUG modifier. failures/expected/text.html\n" "expectations:1 Unrecognized modifier 'foo' failures/expected/text.html\n" - "expectations:2 Missing expectations SKIP : failures/expected/image.html") + "expectations:2 Missing expectations SKIP : failures/expected/image.html\n" + "expectations:3 Path does not exist. non-existent-test.html") self.assertEqual(str(e), warnings) try: |