Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(360)

Side by Side Diff: Tools/Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py

Issue 294973008: Add --sanitizer-mode to run-webkit-tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rename command line flag, add tests; ready for review Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (C) 2010 Google Inc. All rights reserved. 1 # Copyright (C) 2010 Google Inc. All rights reserved.
2 # 2 #
3 # Redistribution and use in source and binary forms, with or without 3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are 4 # modification, are permitted provided that the following conditions are
5 # met: 5 # met:
6 # 6 #
7 # * Redistributions of source code must retain the above copyright 7 # * Redistributions of source code must retain the above copyright
8 # notice, this list of conditions and the following disclaimer. 8 # notice, this list of conditions and the following disclaimer.
9 # * Redistributions in binary form must reproduce the above 9 # * Redistributions in binary form must reproduce the above
10 # copyright notice, this list of conditions and the following disclaimer 10 # copyright notice, this list of conditions and the following disclaimer
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 return test_name 56 return test_name
57 57
58 def get_basic_tests(self): 58 def get_basic_tests(self):
59 return [self.get_test('failures/expected/text.html'), 59 return [self.get_test('failures/expected/text.html'),
60 self.get_test('failures/expected/image_checksum.html'), 60 self.get_test('failures/expected/image_checksum.html'),
61 self.get_test('failures/expected/crash.html'), 61 self.get_test('failures/expected/crash.html'),
62 self.get_test('failures/expected/needsrebaseline.html'), 62 self.get_test('failures/expected/needsrebaseline.html'),
63 self.get_test('failures/expected/needsmanualrebaseline.html'), 63 self.get_test('failures/expected/needsmanualrebaseline.html'),
64 self.get_test('failures/expected/missing_text.html'), 64 self.get_test('failures/expected/missing_text.html'),
65 self.get_test('failures/expected/image.html'), 65 self.get_test('failures/expected/image.html'),
66 self.get_test('failures/expected/timeout.html'),
66 self.get_test('passes/text.html')] 67 self.get_test('passes/text.html')]
67 68
69
68 def get_basic_expectations(self): 70 def get_basic_expectations(self):
69 return """ 71 return """
70 Bug(test) failures/expected/text.html [ Failure ] 72 Bug(test) failures/expected/text.html [ Failure ]
71 Bug(test) failures/expected/crash.html [ WontFix ] 73 Bug(test) failures/expected/crash.html [ WontFix ]
72 Bug(test) failures/expected/needsrebaseline.html [ NeedsRebaseline ] 74 Bug(test) failures/expected/needsrebaseline.html [ NeedsRebaseline ]
73 Bug(test) failures/expected/needsmanualrebaseline.html [ NeedsManualRebaseline ] 75 Bug(test) failures/expected/needsmanualrebaseline.html [ NeedsManualRebaseline ]
74 Bug(test) failures/expected/missing_image.html [ Rebaseline Missing ] 76 Bug(test) failures/expected/missing_image.html [ Rebaseline Missing ]
75 Bug(test) failures/expected/image_checksum.html [ WontFix ] 77 Bug(test) failures/expected/image_checksum.html [ WontFix ]
76 Bug(test) failures/expected/image.html [ WontFix Mac ] 78 Bug(test) failures/expected/image.html [ WontFix Mac ]
77 """ 79 """
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 self.assert_exp_list('failures/expected/image.html', [CRASH]) 243 self.assert_exp_list('failures/expected/image.html', [CRASH])
242 244
243 def test_overrides__duplicate(self): 245 def test_overrides__duplicate(self):
244 self.assert_bad_expectations("Bug(exp) failures/expected/text.html [ Fai lure ]", 246 self.assert_bad_expectations("Bug(exp) failures/expected/text.html [ Fai lure ]",
245 "Bug(override) failures/expected/text.html [ ImageOnlyFailure ]\n" 247 "Bug(override) failures/expected/text.html [ ImageOnlyFailure ]\n"
246 "Bug(override) failures/expected/text.html [ Crash ]\n") 248 "Bug(override) failures/expected/text.html [ Crash ]\n")
247 249
248 def test_pixel_tests_flag(self): 250 def test_pixel_tests_flag(self):
249 def match(test, result, pixel_tests_enabled): 251 def match(test, result, pixel_tests_enabled):
250 return self._exp.matches_an_expected_result( 252 return self._exp.matches_an_expected_result(
251 self.get_test(test), result, pixel_tests_enabled) 253 self.get_test(test), result, pixel_tests_enabled, sanitizer_is_e nabled=False)
252 254
253 self.parse_exp(self.get_basic_expectations()) 255 self.parse_exp(self.get_basic_expectations())
254 self.assertTrue(match('failures/expected/text.html', FAIL, True)) 256 self.assertTrue(match('failures/expected/text.html', FAIL, True))
255 self.assertTrue(match('failures/expected/text.html', FAIL, False)) 257 self.assertTrue(match('failures/expected/text.html', FAIL, False))
256 self.assertFalse(match('failures/expected/text.html', CRASH, True)) 258 self.assertFalse(match('failures/expected/text.html', CRASH, True))
257 self.assertFalse(match('failures/expected/text.html', CRASH, False)) 259 self.assertFalse(match('failures/expected/text.html', CRASH, False))
258 self.assertTrue(match('failures/expected/image_checksum.html', PASS, Tru e)) 260 self.assertTrue(match('failures/expected/image_checksum.html', PASS, Tru e))
259 self.assertTrue(match('failures/expected/image_checksum.html', PASS, Fal se)) 261 self.assertTrue(match('failures/expected/image_checksum.html', PASS, Fal se))
260 self.assertTrue(match('failures/expected/crash.html', PASS, False)) 262 self.assertTrue(match('failures/expected/crash.html', PASS, False))
261 self.assertTrue(match('failures/expected/needsrebaseline.html', TEXT, Tr ue)) 263 self.assertTrue(match('failures/expected/needsrebaseline.html', TEXT, Tr ue))
262 self.assertFalse(match('failures/expected/needsrebaseline.html', CRASH, True)) 264 self.assertFalse(match('failures/expected/needsrebaseline.html', CRASH, True))
263 self.assertTrue(match('failures/expected/needsmanualrebaseline.html', TE XT, True)) 265 self.assertTrue(match('failures/expected/needsmanualrebaseline.html', TE XT, True))
264 self.assertFalse(match('failures/expected/needsmanualrebaseline.html', C RASH, True)) 266 self.assertFalse(match('failures/expected/needsmanualrebaseline.html', C RASH, True))
265 self.assertTrue(match('passes/text.html', PASS, False)) 267 self.assertTrue(match('passes/text.html', PASS, False))
266 268
269 def test_sanitizer_flag(self):
270 def match(test, result):
271 return self._exp.matches_an_expected_result(
272 self.get_test(test), result, pixel_tests_are_enabled=False, sani tizer_is_enabled=True)
273
274 self.parse_exp("""
275 Bug(test) failures/expected/crash.html [ Crash ]
276 Bug(test) failures/expected/image.html [ ImageOnlyFailure ]
277 Bug(test) failures/expected/text.html [ Failure ]
278 Bug(test) failures/expected/timeout.html [ Timeout ]
279 """)
280 self.assertTrue(match('failures/expected/crash.html', CRASH))
281 self.assertTrue(match('failures/expected/image.html', PASS))
282 self.assertTrue(match('failures/expected/text.html', PASS))
283 self.assertTrue(match('failures/expected/timeout.html', TIMEOUT))
284
267 def test_more_specific_override_resets_skip(self): 285 def test_more_specific_override_resets_skip(self):
268 self.parse_exp("Bug(x) failures/expected [ Skip ]\n" 286 self.parse_exp("Bug(x) failures/expected [ Skip ]\n"
269 "Bug(x) failures/expected/text.html [ ImageOnlyFailure ]\ n") 287 "Bug(x) failures/expected/text.html [ ImageOnlyFailure ]\ n")
270 self.assert_exp('failures/expected/text.html', IMAGE) 288 self.assert_exp('failures/expected/text.html', IMAGE)
271 self.assertFalse(self._port._filesystem.join(self._port.layout_tests_dir (), 289 self.assertFalse(self._port._filesystem.join(self._port.layout_tests_dir (),
272 'failures/expected/text.htm l') in 290 'failures/expected/text.htm l') in
273 self._exp.get_tests_with_result_type(SKIP)) 291 self._exp.get_tests_with_result_type(SKIP))
274 292
275 def test_bot_test_expectations(self): 293 def test_bot_test_expectations(self):
276 """Test that expectations are merged rather than overridden when using f laky option 'unexpected'.""" 294 """Test that expectations are merged rather than overridden when using f laky option 'unexpected'."""
(...skipping 612 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 907
890 def disabled_test_string_whitespace_stripping(self): 908 def disabled_test_string_whitespace_stripping(self):
891 # FIXME: Re-enable this test once we rework the code to no longer suppor t the old syntax. 909 # FIXME: Re-enable this test once we rework the code to no longer suppor t the old syntax.
892 self.assert_round_trip('\n', '') 910 self.assert_round_trip('\n', '')
893 self.assert_round_trip(' [ FOO ] bar [ BAZ ]', '[ FOO ] bar [ BAZ ]') 911 self.assert_round_trip(' [ FOO ] bar [ BAZ ]', '[ FOO ] bar [ BAZ ]')
894 self.assert_round_trip('[ FOO ] bar [ BAZ ]', '[ FOO ] bar [ BAZ ]') 912 self.assert_round_trip('[ FOO ] bar [ BAZ ]', '[ FOO ] bar [ BAZ ]')
895 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] bar [ BAZ ] # Qux.') 913 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] bar [ BAZ ] # Qux.')
896 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] ba r [ BAZ ] # Qux.') 914 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] ba r [ BAZ ] # Qux.')
897 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] bar [ BAZ ] # Qux.') 915 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FOO ] bar [ BAZ ] # Qux.')
898 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FO O ] bar [ BAZ ] # Qux.') 916 self.assert_round_trip('[ FOO ] bar [ BAZ ] # Qux.', '[ FO O ] bar [ BAZ ] # Qux.')
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698