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

Side by Side Diff: Tools/Scripts/webkitpy/layout_tests/layout_package/bot_test_expectations_unittest.py

Issue 326483002: Make update-flaky-tests work for debug builders as well. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add tests 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) 2013 Google Inc. All rights reserved. 1 # Copyright (C) 2013 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 12 matching lines...) Expand all
23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 28
29 import webkitpy.thirdparty.unittest2 as unittest 29 import webkitpy.thirdparty.unittest2 as unittest
30 30
31 from webkitpy.layout_tests.layout_package import bot_test_expectations 31 from webkitpy.layout_tests.layout_package import bot_test_expectations
32 from webkitpy.layout_tests.models import test_expectations 32 from webkitpy.layout_tests.models import test_expectations
33 from webkitpy.layout_tests.port import builders
34
35
36 class BotTestExpectationsFactoryTest(unittest.TestCase):
37 def fake_results_json_for_builder(self, builder):
38 return bot_test_expectations.ResultsJSON(builder, 'Dummy content')
39
40 def test_expectations_for_builder(self):
41 factory = bot_test_expectations.BotTestExpectationsFactory()
42 factory._results_json_for_builder = self.fake_results_json_for_builder
43
44 old_builders = builders._exact_matches
45 builders._exact_matches = {
46 "Dummy builder name": {"port_name": "dummy-port", "specifiers": []},
47 }
48
49 try:
50 self.assertIsNotNone(factory.expectations_for_builder('Dummy builder name'))
51 finally:
52 builders._exact_matches = old_builders
53
54 def test_expectations_for_port(self):
55 factory = bot_test_expectations.BotTestExpectationsFactory()
56 factory._results_json_for_builder = self.fake_results_json_for_builder
57
58 old_builders = builders._exact_matches
59 builders._exact_matches = {
60 "Dummy builder name": {"port_name": "dummy-port", "specifiers": []},
61 }
62
63 try:
64 self.assertIsNotNone(factory.expectations_for_port('dummy-port'))
65 finally:
66 builders._exact_matches = old_builders
33 67
34 68
35 class BotTestExpectationsTest(unittest.TestCase): 69 class BotTestExpectationsTest(unittest.TestCase):
36 # FIXME: Find a way to import this map from Tools/TestResultServer/model/jso nresults.py. 70 # FIXME: Find a way to import this map from Tools/TestResultServer/model/jso nresults.py.
37 FAILURE_MAP = {"A": "AUDIO", "C": "CRASH", "F": "TEXT", "I": "IMAGE", "O": " MISSING", 71 FAILURE_MAP = {"A": "AUDIO", "C": "CRASH", "F": "TEXT", "I": "IMAGE", "O": " MISSING",
38 "N": "NO DATA", "P": "PASS", "T": "TIMEOUT", "Y": "NOTRUN", "X": "SKIP", "Z": "IMAGE+TEXT", "K": "LEAK"} 72 "N": "NO DATA", "P": "PASS", "T": "TIMEOUT", "Y": "NOTRUN", "X": "SKIP", "Z": "IMAGE+TEXT", "K": "LEAK"}
39 73
40 # All result_string's in this file expect newest result 74 # All result_string's in this file expect newest result
41 # on left: "PFF", means it just passed after 2 failures. 75 # on left: "PFF", means it just passed after 2 failures.
42 76
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 self._assert_unexpected_results(test_data, { 189 self._assert_unexpected_results(test_data, {
156 'foo/pass1.html': sorted(["FAIL", "PASS"]), 190 'foo/pass1.html': sorted(["FAIL", "PASS"]),
157 'foo/pass2.html': sorted(["IMAGE", "PASS"]), 191 'foo/pass2.html': sorted(["IMAGE", "PASS"]),
158 'foo/fail.html': sorted(["TEXT", "PASS"]), 192 'foo/fail.html': sorted(["TEXT", "PASS"]),
159 'foo/f_p.html': sorted(["TEXT", "PASS"]), 193 'foo/f_p.html': sorted(["TEXT", "PASS"]),
160 'foo/crash.html': sorted(["WONTFIX", "CRASH", "TEXT"]), 194 'foo/crash.html': sorted(["WONTFIX", "CRASH", "TEXT"]),
161 'foo/image.html': sorted(["CRASH", "FAIL", "IMAGE"]), 195 'foo/image.html': sorted(["CRASH", "FAIL", "IMAGE"]),
162 'foo/i_f.html': sorted(["PASS", "IMAGE", "TEXT"]), 196 'foo/i_f.html': sorted(["PASS", "IMAGE", "TEXT"]),
163 'foo/all.html': sorted(["TEXT", "PASS", "IMAGE+TEXT", "TIMEOUT", "CR ASH", "IMAGE", "MISSING", "LEAK"]), 197 'foo/all.html': sorted(["TEXT", "PASS", "IMAGE+TEXT", "TIMEOUT", "CR ASH", "IMAGE", "MISSING", "LEAK"]),
164 }) 198 })
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698